[求助]一个string的赋值和打印的问题 小萝卜这厢有礼了
第一步,先看个小程序:#include <stdio.h>
main()
{
char str[]="this is the original one.";
char *ptr_str;
ptr_str= str;
printf("Now ptr_str is :%s\n", ptr_str);
return 0;
}
运行没有问题。
第二步,改成:
char str[]="this is the original one.";
char *ptr_str;
str[]="this is not the original one.";
ptr_str= str;
printf("Now ptr_str is :%s\n", ptr_str);
编译的时候第三行出错。怎么回事?
第三步,可能不能给str[]先赋值,把第一行的赋值语句去掉,改成:
char str[];
char *ptr_str;
str[]="this is not the original one.";
ptr_str= str;
printf("Now ptr_str is :%s\n", ptr_str);
编译的时候第一行、第三行均出错。怎么回事?
第四步,把程序改得再简单一点,把char str[]干脆就去掉了:
char *ptr_str;
*ptr_str= "This is a simple test";
printf("Now ptr_str is :%s\n", ptr_str);
编译的时候没有错,但是有两个警告。但是运行不起来,系统出错。
请问各位大哥大姐,这是怎么回事?string真的让小萝卜头大了。谢谢。