#include stdiohint main char s32; s = computer; for int i = 0; s != 0; i+=2 printfc si; 为什么错了?
代码中的第二行应该是 s[0] = 'c'; 而不是 *s = "computer";。原因是:
s是一个字符数组,需要使用下标来访问其中的每一个字符,而*s是数组的第一个元素,它是一个字符类型,不能直接赋值为一个字符串。- 字符串常量应该使用双引号括起来,而单引号表示一个字符,因此应该写成
s[0] = 'c';。
修改后的代码如下:
#include "stdio.h"
int main(){
char s[32];
s[0] = 'c';
s[1] = 'o';
s[2] = 'm';
s[3] = 'p';
s[4] = 'u';
s[5] = 't';
s[6] = 'e';
s[7] = 'r';
s[8] = '\0';
for (int i = 0; s[i] != '\0'; i+=2) {
printf("%c ",s[i]);
}
return 0;
}
输出结果为:c m u e。
原文地址: https://www.cveoy.top/t/topic/b7bC 著作权归作者所有。请勿转载和采集!