【发布时间】:2017-11-17 23:52:21
【问题描述】:
CLion 中的控制台在扫描输入后不会打印行,但在 iTerm 中编译后一切正常。 代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
char personName;
printf("Hello, what is your name?\n");
scanf("%s", personName);
printf("Hello, %s\n", personName);
return 0;
}
我刚刚在 CLion 控制台中得到了这个:
Hello, what is your name?
Mike
Process finished with exit code 11
【问题讨论】:
-
未定义行为
personName不是字符串。 -
一半的标签完全不相关。选择一种 C 或 C++,但要知道,如果它打算成为 C++,那么你是从大约 25 年过时的资源中接受教育的。
-
编译器warn about this.
-
值得一读,这样下次您看到 Process finished with exit code 11 时,您就会知道它的含义:stackoverflow.com/questions/31103254/…
-
在有人输入一个 51 个字符长的名字之前有效。
标签: c