1.char *s={"right"}为什么不对呀,怎么理解呢
2.char *s="right";等于char *ss; ss="right";对不对
1.char *s={"right"}
{}一般用来初始化数组元素,如果你只是一个字符串,就用char * s= "right";如果是字符串数组,就用char *s[] = {"right"};
2.对
1.C语言中没有字符串类型,所有的字符串字面量都会被编译器处理成以\0
结尾的字符数组,所以你{"right"}
其实一个二维char数组,你用一个char指针去赋值显然不行,但如果你把s声明为字符指针的数组,就ok了
char *s[]={"right"};
printf("%s",*s);
2.没什么问题,C语言语句有声明语句和赋值语句,前者只不过是声明和赋值合起来的一种写法,拆开写成一个声明,一个赋值也没问题