#include <stdio.h>
#include <string.h>
int main(void)
{
char *myStr = "Hello, World!"; // String literal which is non-modifiable.
char string1[] = "hello";
string1[1] = "E";
printf("%s\n", string1);
myStr = "Hello, Barsbold!"; // Changing what myStr points to.
printf("%s", myStr);
}
所以它不起作用。我使用 MinGW GCC 作为编译器。编译器告诉“赋值从指针生成整数而无需强制转换”
"E"
是一个字符串文字。它是一个 的数组char
并且可以转换为一个指针char*
。您应该使用的是字符常量 'E'
,它是int
C 中的an 。
错误的线路:
string1[1] = "E";
它应该是:
string1[1] = 'E';
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句