1. 字符 char型 %c
scanf("%c",&a);printf("%c",a);
2. 字符串 char数组 %s
scanf("%s",str);printf("%s",str);
一.字符
①字符变量 char c1,c2;
②字符常量 char c1 = 'z', c2 = 'j', c3 = '1';(注意一定要加'',必须是单个字符。)
初始化: char str[15] ={'G','o','o','d','!'};
把字符输入数组,输出用%c。
二.字符串(C语言中没有单独一种基本数据类型可以储存(C++中有string类型),只能用字符数组)
初始化: char str[25] = ''wo ai ni'';输出用%s。
注意!没有 char c = ''abcd'';不能把字符串常量赋值给字符变量。
三.数组
①int 型(简单不说了)
②char型
可知,用%s来输入一个字符串,输出时%s通过空格/换行来识别一个字符串的结束。
而%c用来输入单个字符,且输出时能够识别空格/换行。
四.储存方式
scanf/gets 输入字符串,会自动在最后添加\0,并占用一个字符位,所以字符数组长度一定要比实际储存字符串长度至少多1。
注意!int型不需要加\0,char型需要,所以在字符输入数组要在最后加入'\0'(字符串不是scanf/gets输入也要加\0 ),printf/puts是通过识别\0为结束的,不然其会一直输出乱码,直到遇到\0。
结束符\0的ASC码为0,为空字符NULL,占用一个字符位。空格ASC码是32,切勿混淆。
C语言初学者,还多有不足,学一点记一点。每天进步一点点。🤔