【发布时间】:2013-09-28 16:26:26
【问题描述】:
char *str;
printf("Enter string:\n");
scanf("%s",str);
输出: 运行时检查失败#3 str 未初始化就被使用了
【问题讨论】:
-
您正在尝试将数据读入未初始化指针指向的内存位置?
-
奇怪的是,每个人都认为'需要一个字符串;使用
malloc()' 而不是'需要一个字符串;声明一个数组'。阵列更易于管理;没有人提醒你需要free()malloc()分配的东西,也没有提醒你需要检查malloc()的返回值。