C/C++:按ENTER键后,我可以将光标保持在当前行吗?

BBe*_*eta 6 c c++ terminal

我想问一下按ENTER后是否有任何方法可以将光标保持在当前行!

例如 ...

#include<stdio.h>
int main()
{
    int d=0;
    printf("Enter a number : ");
    scanf("%d",&d);

    if(d%2)printf(" is a Odd number\n");
    else printf(" is a Even number\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

输出的一个例子:

Enter a number : 10
 is a Even number
Run Code Online (Sandbox Code Playgroud)

......但我需要的是这样的:

Enter a number : 10 is a Even number 
Run Code Online (Sandbox Code Playgroud)

我想在用户输入的数字旁边加上"是偶数"(或"是奇数")

Mat*_*son 1

简单的答案是“你不能”。没有标准的 C++ 函数来控制此行为,或者在最后不按 Enter 键的情况下读取数据(事实上,直到按 Enter 键后数据才真正被“输入”,因此程序不会看到数据) 。

您可以使用非标准功能,例如附加库,例如“curses”库或系统相关代码,但我们必须生成代码来一次读取一个字符,并使用您编写的代码将其合并在一起。

我建议您使用“在输出中重复输入”,然后简单地执行以下操作:

printf("%d is", d);
if (d%2)
    printf("an odd number\n");
else
    printf("an even number\n");
Run Code Online (Sandbox Code Playgroud)