#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