我的程序可以接受任意长度或空输入.但是,如果输入为空(空格或换行符),程序将继续等待输入.我也试过fgets
但是如果按下空格/换行符,它仍然会在关闭之前等待更多不是空格/换行符的输入.
简化代码:
#include <stdio.h>
main()
{
int num;
scanf("%i",&num);
printf("%i",num);
}
Run Code Online (Sandbox Code Playgroud)
输入:
363792
Run Code Online (Sandbox Code Playgroud)
输出:
363792
Run Code Online (Sandbox Code Playgroud)
期望:
输入:
输出:
我是C的新手,我很难完成这项任务.
尝试使用fgets:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main()
{
int n;
char s[20];
fgets(s,20,stdin);
n = atoi(s);
printf("%i",n);
}
Run Code Online (Sandbox Code Playgroud)
编辑:结果我没有正确编译代码.所以每当我尝试进行更改时,它只是使用scanf查看原始代码.