char str[10]={0};/*创建一个包含十个字符的char数组,意思就是一个包含十个字符的字符串*/
str={0};/*看来你还没有学到指针那一章吧,str是一个常量指针,不能被修改,而且你用给数组赋值的方式给一个指针赋值,更加错上加错*/
注:数组的名字其实就是指向数组第一个元素的指针。
str[10]是数组
str是指向str[0]的指针
str 是数组名,str={0}; 错。
可以用 循环语句,一个一个赋值,或用 memset 总清。
例如:
char str[10]="abcde6789"; //初始化字符数组
int i;
printf("1: %s\n",str); // 按字符串打印内容
str[0]='\0'; // 清字符串的方法
printf("2: %s\n",str); // 按字符串打印内容,清了
printf("3: ");
for (i=0;i<10;i++) printf("%c",str[i]); // 按 1个个字符 打印内容,没清干净
memset (str,'\0',10); // 用 它
printf("\n4: ");
for (i=0;i<10;i++) printf("%c",str[i]); // 清干净啦
str是这个数组的首地址,怎么可以赋值?
应该这样str[10]={'0'};0是字符,加引号,这样表示str[0]='0',其它的都是空