请问这个程序为什么全部是99? #include<stdio.h> int main() { int a = 15, b = 99, c = 222; int *p = &a; //定义指针变量 *p = b; //通过指针变量修改内存上的数据 c = *p; //通过指针变量获取内存上的数据 printf("%d, %d, %d, %d\n", a, b, c, *p);
char *str="i hate c language"; str指针指向的是一个常量字符串```我们不能更改其值``` 所以*(str+n)=*(str+i);是错误的```简单一点的做法是这样: 将char *str="i hate c language"; 改为char str[50]="i hate c language"; 或者在函数feng中给str重新分配一个空间(使用malloc())```