我的程序可以接受任意数量的长度或空输入。但是,如果输入为空(空格或换行符),程序将继续等待输入。我也尝试过fgets
,但是如果按下空格/换行符,它仍会在关闭之前等待更多不是空格/换行符的输入。在C中接受空字符串
Simpified代码:
#include <stdio.h>
main(){
int num;
scanf("%i",&num);
printf("%i",num);
}
输入:
363792
输出:
363792
期望:
输入:
输出:
我是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);
}
编辑:原来我没有被编译代码的权利。所以每次我尝试进行更改时,都会使用scanf查看原始代码。
意思是,你想忽略空输入(空格或换行符)? – RDX
如果你没有输入这个代码输出0,它是你的愿望吗? – ashiquzzaman33
'scanf'不能按预期工作,因为'%d'跳过前导空格字符。 –