1樓:匿名使用者
因為你輸入完第一個字元後按了回車鍵,而回車鍵實際上輸入了2個字元,第一個字元被scanf用來確認輸入結束,第2個位元組仍保留在緩衝區內,被第2個scanf讀到了,因此b的值實際上是回車輸入的第2個字元,是個控制字元,不可見.
以後注意了,在scanf("%c",getchar之類輸入字元的語句前,要加fflush(stdin);清空緩衝區.
2樓:想念黃黃
你第一個字元也輸不出來吧
因為你沒有輸出這兩個字元的語句啊
printf("輸入第一個字元:\n");
scanf("%c",&a);
printf("輸入第二個字元:\n");
scanf("%c",&b);
printf("%c",a);
printf("%c",b);
******************************====我不知你說的“用一句話什麼意思”
如果你不想一次次用scanf printf的話 可以這樣子:
char a;
while (scanf("%c",&a)!=eof)//有字元讀入printf("%c\n",a);
3樓:祈拉之祈
程式是一句句執行的
第一個輸出完
它等你輸入a
所以第二個字元輸不出來
你可以輸入一個字元,回車
這樣就有了
4樓:
一樓正解,,你加上那個清除緩衝區函式就好了!
用c語言編寫一個程式,讀入使用者輸入的整數,按八進位制顯示出來
5樓:匿名使用者
很簡單的程式,你找c語言課本看看printf格式字元的介紹%o 以八進位制無符號專形式輸出整數(不輸
屬出前導符號0)
給你一個程式:
#include
void main()
執行結果:
輸入整數n:65
八進位制輸出形式:101
press any key to continue
6樓:匿名使用者
你找c語言課本看看printf格式copy字bai符的介紹%o 以八進位制無符號
du形式輸出整數zhi(不輸出前導符號0)給你一個程式:dao
#include
void main()
執行結果:
輸入整數n:65
八進位制輸出形式:101
c語言中,怎麼用eof結束輸入,C語言中,怎麼用EOF結束輸入
windows 首先在最後一行結束後 此時未換行 輸入enter鍵,新起一行,再輸入ctrl z,再輸入時enter鍵即可。linux 直接按ctrl d快捷鍵 示例 include using namespce std void main int a while cin a 迴圈輸入的 塊 c語言...
c語言中如何依次輸入陣列中元素,C語言中如何依次輸入陣列中元素
include int main int a 17 int i for i 0 i 17 i scanf d a i return 0 函式功能 把格式化的資料寫入某個字串 函式原型 int sprintf char buffer,const char format argument 返回值 字串長...
c語言中應用switch語句程式設計輸入
int n switch n case 1 printf 今天襲是週一 break case 2 printf 今天是週二 break case 3 printf 今天是週三 break case 4 printf 今天是週四 break case 5 printf 今天是週五 break case...