述惑人 的一个 指向指针的指针 的问题?? #include"stdio.h" void main() { char **s; *s="computer"; printf("%s\n",*s); } 按本人意愿应是输出“computer",可为什么输出的什么都没有呢??请高手指点迷津!
#include"stdio.h" void main() { char **s; *s="computer"; printf("%s\n",*s); }
按本人意愿应是输出“computer",可为什么输出的什么都没有呢??请高手指点迷津!
*s="computer"; 是对s所指向的地址单元进行赋值
在没有对一个指针进行赋值之前,而对它指向的地址单元进行赋值是很危险的,经常会产生非法操作.
可以这样:
#include"stdio.h" void main() { char **s;
char *p;
s = &p; *s="computer"; printf("%s\n",*s); }