【问题标题】: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");"执行。此外,当您在代码中按回车键时,存储在变量“年龄”中的数字不会做任何事情。你只是无缘无故地存储它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-01
    • 2013-02-18
    • 2017-06-05
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    相关资源
    最近更新 更多