編寫程序讀取輸入,讀到#停止,報(bào)告ei出現(xiàn)的次數(shù)。注意:該程序要記錄前一個(gè)字符和當(dāng)前字符。#include<stdio.h>int main(void){ char ch,ch_before='\0'; int num = 0;? while ((ch = getchar()) != '#') { if (ch_before == 'e'&&ch == 'i') { num++; } ? ?ch_before = ch; }? printf("ei has %d .", num);? getchar(); getchar(); return 0;}ch_before=ch;這里為什么要賦值,還有ch_before==e,直接就可以確定前一個(gè)數(shù)是e?_before是一個(gè)函數(shù)工具嗎?
1 回答
已采納

onemoo
TA貢獻(xiàn)883條經(jīng)驗(yàn) 獲得超454個(gè)贊
ch_before 就是一個(gè)普通的變量名啊!?
因?yàn)橐髾z測(cè)讀 "ei",所以這個(gè)代碼意圖用?ch_before 來保存上次讀到的字符,ch 保存這次讀到的字符。只要這個(gè) ch_before == 'e'&&ch == 'i' 條件成立不就是輸入中有 ei 了嘛。
那么:
ch_before = ch;? 這個(gè)賦值就是把本次讀到的字符賦值給?ch_before,到下次判斷時(shí)?ch_before 中的不就是上次讀到的字符了嘛
ch_before == 'e'? 這就是判斷?ch_before 保存的字符是不是 'e' 而已
- 1 回答
- 0 關(guān)注
- 1822 瀏覽
添加回答
舉報(bào)
0/150
提交
取消