【问题标题】:scanf without newline (C programming)不带换行符的 scanf(C 编程)
【发布时间】:2017-08-30 14:22:14
【问题描述】:
我不想在 scanf 之后换行。
printf("I am ");
scanf("%d", &age);
printf(" years old");
这个输出是;
I am 19
years old.
但我想要这样:
I am 19 years old.
【问题讨论】:
标签:
c
scanf
newline
enter
hit
【解决方案1】:
您没有正确使用 scanf()。函数 scanf() 接受用户输入,然后将其存储在一个变量中,在您的情况下,这将是变量“年龄”。之后,您可以像这样将变量 age 放在 printf() 语句中。
scanf("%d", &age);
printf("I am %d years old.", age);
该代码将首先等待用户输入年龄,然后打印句子:
我今年 X 岁。
屏幕显示两行输出的原因是,"scanf("%d", &age);"要求您在输入一个数字(创建一个新行)后按 Enter 键才能输入“printf(" years old");"执行。此外,当您在代码中按回车键时,存储在变量“年龄”中的数字不会做任何事情。你只是无缘无故地存储它。