一个代码开启O2优化和不开结果不一样
查看原帖
一个代码开启O2优化和不开结果不一样
1286400
ak996_886楼主2024/7/15 18:44
#include <stdio.h>
#include<string.h>
int main(){
	char xiaozu[7],huixing[7];
	int xiao[7],hui[7];
	int i,sum1=1,sum2=1,x,y,j,m,n,o,p;
	gets(xiaozu);
	gets(huixing);
	m=strlen(xiaozu);
	n=strlen(huixing);
	for(i=0;i<m;i++){
		xiao[i]=xiaozu[i]-'A'+1;
		sum1*=xiao[i];
	}
	for(i=0;i<n;i++){
		hui[i]=huixing[i]-'A'+1;
		sum2*=hui[i];
	}
	x=sum1%47;
	y=sum2%47;
	if(x==y)printf("GO");
	else printf("STAY");
	return 0;
} 

就是现在的基础上不开O2优化能过,开了就1WA,把7换成6,,开启优化是1和10WA,不开就是1和7WA。这是为什么啊?那我以后交代码怎么确定过不过啊?

2024/7/15 18:44
加载中...