自学c语言常见错误-字符串定义

字符串定义

第一种定义方法

数据类型 空格 变量名称[ ]={'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语言,分享一些自学时碰到的错误,不足之处还望指出。

上一篇:从零开始学习OI


下一篇:杨辉三角形