C++指针变量有关问题
C++指针变量问题
为什么“”str2="USA"不合法,str[]="China"合法呢?
------解决方案--------------------
------解决方案--------------------
难道你是这么写的?
char str2[10];
然后 str2="USA";
这能合法?
“USA”是字符串常量。
------解决方案--------------------
看你前面的定义是什么;如果是char* str2;str2=“USA”;这个事正确的可以puts(str2)输出;
如果是直接定义char str2=‘USA’这是不合法的;
为什么“”str2="USA"不合法,str[]="China"合法呢?
------解决方案--------------------
#include <iostream>
int main()
{
char str[] = "CHINA"; //合法,初始化
const char *str2 = "USA"; //同样合法
char *str3 = "France"; //警告,不能从const char *转换到char *
return 0;
}
------解决方案--------------------
难道你是这么写的?
char str2[10];
然后 str2="USA";
这能合法?
“USA”是字符串常量。
------解决方案--------------------
看你前面的定义是什么;如果是char* str2;str2=“USA”;这个事正确的可以puts(str2)输出;
如果是直接定义char str2=‘USA’这是不合法的;