以下两种写法,第一种用for,第二种用while其他地方一模一样,但是for是错的,while全对。求大佬解释下这是什么原理
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
int main()
{
char b,c;
int i,a[3]={0};
for(i=0;i<3;i++)
{
scanf("%c:=%c;",&b,&c);
if(c>='0'&&c<='9')
a[b-'a']=c-'0';
else
a[b-'a']=a[c-'a'];
}
cout<<a[0]<<' '<<a[1]<<' '<<a[2];
return 0;
}
#include<iostream>
#include<string>
#include<cstdio>
using namespace std;
int main()
{
char b,c;
int i,a[3]={0};
while (scanf("%c:=%c;",&b,&c)==2)
{
if(c>='0'&&c<='9')
a[b-'a']=c-'0';
else
a[b-'a']=a[c-'a'];
}
cout<<a[0]<<' '<<a[1]<<' '<<a[2];
return 0;
}