色々な方から課題の依頼、と思われてるかもしれないですが
リンク内容
ungetcについて勉強してて自分にもできそうな課題が別の質問にあったので練習で解いてた感じです。それと質問文が悪く答えを求めてるように見えたかもしれませんがungetcの使い方に自信がなくアドバイスが欲しかったのです
c
1#include <stdio.h> 2 3////////////問題文///////////////////// 4/*//条件 ungetc,getcharを必ず使う////// 5 6abbaabab(キーボードからの入力) 7^z 8 9abは3回、baは2回(を表示するプログラム) 10 11*////////////////////////////////////// 12int main(){ 13 int c; 14 int count_ab, count_ba; 15 16 count_ab = count_ba = 0; 17 18 while((c = getchar()) != 'EOF'){ 19 if( c == 'a'){ 20 if((c = getchar()) == 'b'){ 21 ungetc(c,stdin); 22 count_ab++; 23 } 24 }else if(c == 'b'){ 25 if((c = getchar()) == 'a'){ 26 ungetc(c,stdin); 27 count_ba++; 28 } 29 } 30 } 31 printf("abは%d回, baは%d回\n",count_ab,count_ba); 32 return 0; 33} 34
自分で問題を解こうとし作ったのですがうまく動きません
原因を教えてください。(エラーなし)
ungetcの使い方がおかしいですか?
回答2件
あなたの回答
tips
プレビュー