回答:即使这样能够通过编译,也是有问题的。因为指针并未被初始化。
用程序解释:
- #include <stdio.h>
- int main(void)
- {
- char *str; // 只是声明了指针str,但是没有初始化。
-
- // scanf()函数把读入的字符串复制到指针str指向的内存地址中
- // 但是此时str并没有被初始化,所以str可以指向内存中的任何地方。
- // 程序无法知道用户输入的字符串存储在哪里,这是随机的行为,是危险的。
- scanf("%s", str);
-
- return 0;
- }
复制代码 |
|