((1)
#include<stdio.h>
int main()
{
char str[5]="hello";
str[5] = "g";
printf("%s",str);
return 0;
}
输出:hello0这不应该给出错误吗?(2)
#include<stdio.h>
int main()
{
char str[5]="hello";
str[3] = "g";
printf("%s",str);
return 0;
}
OUPUT:hel0o0从哪里来?
编译器:TDM-GCC-64Windows 10编辑器:Sublime Text
我在给定的代码中看到多个错误。
1-在C语法中尝试分配双引号值返回
您应该已经注意到分配给str[3]
的值是一种字符串类型,而不是字符。如果使用str[3] = 'g'
,您将不再收到错误。
这不应该给出错误吗?