简单的指针问题
#include<stdio.h>#include<string.h>
int getNumber(char*p)
{
int len=strlen(p);
*p='0';
printf("%s\n",p);
return 0;
}
void main()
{
char *a="[123]";
int i=getNumber(a);
printf("%d\n",i);
system("pause");
}
在上面的代码中函数getNumber会出现内存错误,但如果把char *a="[123]";改为char a[10]="[123]";就没错这个是为什么?