求问两程序的区别:关于字符数组指针的问题?
程序一:#include<stdio.h>
void main()
{
char *x="this is a C program!\n";
char y[100];
int i;
for(i=0;*(x+i)!='\0';i++)
*(y+i)=*(x+i);
*(y+i)='\0';
printf("%s",y);
}
程序二:
#include<stdio.h>
void main()
{
char *x="this is a C program!\n";
char *y;
int i;
for(i=0;*(x+i)!='\0';i++)
*(y+i)=*(x+i);
*(y+i)='\0';
printf("%s",y);
}
[b]这个程序的目的是将x中的元素复制到y中,为什么程序一可以实现,而程序二每次运行都会出现CPP.EXE停止工作。我理解这两个程序应该完全等价才对的~