#deinfe String char * 定义了宏String
String s1,s2;展开后为char * s1,s2。
而你需要的是两个指针类型的变量,应该写成char *s1,*s2;
*只修饰s1,s2就是char类型。s2="rose"是把"rose"数组赋值给s2,也就是把char[5]类型赋值给char,所以报错。
定义char* 为string,typedef 比define 做得更好,不会出这种问题。
当然你的这个程序在定义s2时前加个*号,也不会报错额。
- #define String char *
- int main()
- {
- String s1, *s2;
-
- s1 = "jack";
- s2 = "rose";
- return 0;
- }
复制代码
|