我有一个简单的程序测试,它将一个数字作为输入并在控制台上打印出来。
#include<stdio.h>
int main(void)
{
int i;
printf("Test Pgm \n");
printf("Enter a no:");
scanf("%d",&i);
printf("No Inputted:%d \n",i);
return 0;
}
//以上程序位于10.220.5.xx(不同的机器)
##gcc -o test test.c
在通过ssh调用另一台机器的测试pgm时,我没有在我正在执行的机器上得到任何提示。
$ ssh user@10.220.3.xx '/home/user/test'
user@10.220.3.xx's password
输入密码后,我甚至看不到任何“Test Pgm”。如何远程获取提示并输入值?
答案 0 :(得分:1)
尝试在fflush(stdout);
之前添加scanf()
。
此外,您必须检查scanf()
的返回值,如果给出非数字文本,它可能无法转换输入:
fflush(stdout);
if(scanf("%d", &i) == 1)
printf("Number input: %d\n", i);