为什么答案是14,14

来源:百度知道 编辑:UC知道 时间:2024/05/08 17:42:15
#include <iostream.h>
void main()
{
char a[]="abcdabcabfgacd";
int i1=0,i2=0,i=0;
while(a[i])
{
if(a[i]='a') i1++;
if(a[i]='b') i2++;
i++;
}
cout<<i1<<','<<i2<<endl;
}

注意,IF中的条件是个赋值语句!
if(a[i]='a')…
如果是比较相等否,则应为 if(a[i]=='a')…

因此,这两个IF每次循环时都同时全部满足条件,
所以i1,i2每次都加一。

a[]一共有十四个,i数完十四后,下一个(内存地址后一个空间)
导致while非TRUE,所以退出while。

因此,i1=14,i2=14

没看懂

我也是

是编程吧