字符串定义
第一种定义方法
数据类型 空格 变量名称[ ]={'1','2','\0'};
这种方法定义字符串需要在字符串尾部加上\0表示结束
char a[6] = {'1', '2', '3', '4', '\0'};//示例
第二种定义方法
数据类型 空格 变量名称[ ]="123456";
这种相较于第一种定义方法省时省力,具体缺点还未发现
char b[] = "123456";//示例
错误的定义
int c[]={"123"};//示例
编译器报错
main.c: In function ‘main’: main.c:9:10: error: wide character array initialized from non-wide string int c[]={"123456"};
这是因为int型存储的是单个数字的ascii码,而引号内是多个连续数字,没有对应的ascii码
解决办法就是
char c[ ]={"123456789"};
printf("c=%s",c);
就可以了
本人自学c语言,分享一些自学时碰到的错误,不足之处还望指出。