我的程序可以接受任意數量的長度或空輸入。但是,如果輸入爲空(空格或換行符),程序將繼續等待輸入。我也嘗試過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'跳過前導空格字符。 –