没有换行符的 scanf(C 编程)

scanf without newline (C programming)

我不想在 scanf 后换行。

printf("I am  ");
    scanf("%d", &age);
    printf(" years old");   

这个输出是;

 I am 19
years old.

但我想要这样:

I am 19 years old.

您没有正确使用 scanf()。函数 scanf() 接收用户输入,然后将其存储在一个变量中,在您的例子中就是变量 'age'。之后,您可以像这样将变量 age 放在 printf() 语句中。

scanf("%d", &age);
printf("I am %d years old.", age);

该代码将首先等待用户输入年龄,然后打印句子:

I am X years old.

您的屏幕在两行中显示输出的原因是,"scanf("%d", &age);"要求您在输入数字(创建一个新行)后按回车键,以便 "printf(" 岁”);”执行。此外,当您在代码中按下回车键时,存储在变量 'age' 中的数字没有任何作用。你只是无缘无故地存储它。