編寫程序讀取輸入,讀到#停止,報告ei出現的次數。注意:該程序要記錄前一個字符和當前字符。#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,直接就可以確定前一個數是e?_before是一個函數工具嗎?
1 回答
已采納

onemoo
TA貢獻883條經驗 獲得超454個贊
ch_before 就是一個普通的變量名啊!?
因為要求檢測讀 "ei",所以這個代碼意圖用?ch_before 來保存上次讀到的字符,ch 保存這次讀到的字符。只要這個 ch_before == 'e'&&ch == 'i' 條件成立不就是輸入中有 ei 了嘛。
那么:
ch_before = ch;? 這個賦值就是把本次讀到的字符賦值給?ch_before,到下次判斷時?ch_before 中的不就是上次讀到的字符了嘛
ch_before == 'e'? 這就是判斷?ch_before 保存的字符是不是 'e' 而已
- 1 回答
- 0 關注
- 1844 瀏覽
添加回答
舉報
0/150
提交
取消