指针变量pointer=100不对吗

main()
{ int *ip;
int x;
ip=1000;
ip=&x;
*ip=99;
printf("%d\n",*ip);

}
这个程序运行没问题啊,为什么书上说不能将整数赋值给一个指针变量?

程序编译起来没问题,只是有警告,可以运行。
但是这样用法很不好,因为你赋的整数值是随便选的,对程序来讲没有意义。并且如果你赋的值刚好指向系统内存的关键位置,很有可能会引起系统崩溃。
实际上可以将整数赋值给一个指针变量,但是不要这样做。
温馨提示:答案为网友推荐,仅供参考