_before是一个函数工具吗?

编写程序读取输入,读到#停止,报告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是一个函数工具吗?

慕用4063026
浏览 1675回答 1
1回答

onemoo

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' 而已
打开App,查看更多内容
随时随地看视频慕课网APP