char *cString 和gets()问题
各位大侠问下下面的代码为什么会出现错误?两种方式有什么不同?
int main(void)
{
//char cString[133]= "This is a string"; //正确
char *cString= "This is a string"; //错误
printf("\nInput the string:");
gets(cString);
return 0;
}
char cString[133]= "This is a string"; //正确
//存放在栈区,数组而已,可以读可以写,所以gets获取键盘的输入是可以的
char *cString= "This is a string"; //错误
//存放在静态区,常量字符串,可以读不可以写,所以gets获取键盘的时候出错