第十三行不理解,每行可能有三个数据或两个数据,为什么只读入两个数据?
查看原帖
第十三行不理解,每行可能有三个数据或两个数据,为什么只读入两个数据?
537144
Nanine楼主2022/8/17 22:20
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main(){
	int n,a,b,c;
	char last,s[20],ans[20];
	scanf("%d\n",&n);
	while(n--){
		fgets(s,sizeof(s),stdin);
		if(s[0]=='a'||s[0]=='b'||s[0]=='c') 
			last=s[0],s[0]=' ';
		sscanf(s,"%d %d",&a,&b);//这是第13行
		switch(last){
			case'a':c=a+b;sprintf(ans,"%d+%d=%d",a,b,c);break;
			case'b':c=a-b;sprintf(ans,"%d-%d=%d",a,b,c);break;
			case'c':c=a*b;sprintf(ans,"%d*%d=%d",a,b,c);break;
		}
		printf("%s\n%d\n",ans,strlen(ans));
	}
	return 0;
}

AC的代码,但我不理解

谢谢大佬

2022/8/17 22:20
加载中...