关于字符串与指针的问题
程序一:#include<stdio.h>
void main()
{
char *string="I love China!";
printf("%s\n",string);
}
程序二:
#include<stdio.h>
void main()
{
char *string;
scanf("%s",string);
printf("%s\n",string);
}
疑问:这两段程序都是谭浩强C语言教材上的例子,程序一在教材中是作为一个正确的例子给出的,但是对于程序二,书中说指针string可能指向内存中已存放指令或数据的有用内存段,会破坏程序或系统。应该改成:char *string,a[10];string=a;scanf("%s",a);
难道这个问题在程序一中不存在么?程序一的指针string也没有指向一个确定值啊?