BB2655 @ 2019-01-06 23:01:33
RT 然而编译信息:
/tmp/tmpbnf_y8yw/src: 在函数‘int main()’中:
/tmp/tmpbnf_y8yw/src:11:49: 警告:‘asize’上的运算结果可能是未定义的 [-Wsequence-point]
else if(ch=='+') a[asize-1]=a[asize-1]+a[asize--];
~~~~~^~
/tmp/tmpbnf_y8yw/src:11:49: 警告:‘asize’上的运算结果可能是未定义的 [-Wsequence-point]
/tmp/tmpbnf_y8yw/src:12:49: 警告:‘asize’上的运算结果可能是未定义的 [-Wsequence-point]
else if(ch=='-') a[asize-1]=a[asize-1]-a[asize--];
~~~~~^~
/tmp/tmpbnf_y8yw/src:12:49: 警告:‘asize’上的运算结果可能是未定义的 [-Wsequence-point]
/tmp/tmpbnf_y8yw/src:13:49: 警告:‘asize’上的运算结果可能是未定义的 [-Wsequence-point]
else if(ch=='*') a[asize-1]=a[asize-1]*a[asize--];
~~~~~^~
/tmp/tmpbnf_y8yw/src:13:49: 警告:‘asize’上的运算结果可能是未定义的 [-Wsequence-point]
/tmp/tmpbnf_y8yw/src:14:49: 警告:‘asize’上的运算结果可能是未定义的 [-Wsequence-point]
else if(ch=='/') a[asize-1]=a[asize-1]/a[asize--];
~~~~~^~
/tmp/tmpbnf_y8yw/src:14:49: 警告:‘asize’上的运算结果可能是未定义的 [-Wsequence-point]
以下为源代码:
#include<bits/stdc++.h>
using namespace std;
long long a[1005],n=0;char ch;int asize=0;
int main()
{
ch=getchar();
while(ch!='@')
{
if(ch>='0'&&ch<='9') n=n*10+ch-'0';
else if(ch=='.') a[++asize]=n,n=0;
else if(ch=='+') a[asize-1]=a[asize-1]+a[asize--];
else if(ch=='-') a[asize-1]=a[asize-1]-a[asize--];
else if(ch=='*') a[asize-1]=a[asize-1]*a[asize--];
else if(ch=='/') a[asize-1]=a[asize-1]/a[asize--];
ch=getchar();
}
printf("%lld",a[1]);
return 0;
}
谢谢
by resftlmuttmotw @ 2019-01-06 23:05:56
@BB2655
您还真是爱切红题啊
by BB2655 @ 2019-01-07 12:35:04
@resftlmuttmotw 然而还是找不出错误