请问--l在不同的操作系统中运行原理是否不同?同一代码运行结果不一样。
  • 板块学术版
  • 楼主QDHSLGYYJK
  • 当前回复7
  • 已保存回复7
  • 发布时间2020/10/9 12:55
  • 上次更新2023/11/5 11:29:05
查看原帖
请问--l在不同的操作系统中运行原理是否不同?同一代码运行结果不一样。
376467
QDHSLGYYJK楼主2020/10/9 12:55

题目是P1449 后缀表达式

代码是

#include<cstdio>
using namespace std;
char ch; 
int s[1007],l,num;
int main(){
	for (ch=getchar();ch!='@';ch=getchar()){
		if (ch>=48&&ch<=57){
			num*=10;
			num+=ch-48;
		}
		if (ch=='.'){
			s[++l]=num;
			num=0;
		}
		if (ch=='+')
			s[--l]=s[l]+s[l+1];
		if (ch=='-')
			s[--l]=s[l]-s[l+1];
		if (ch=='*')
			s[--l]=s[l]*s[l+1];
		if (ch=='/')
			s[--l]=s[l]/s[l+1];
	}
	printf("%d",s[1]);
	return 0;
}

问题就是出在--l放在语句里面上。

样例是 3.5.2.-*7.+@

本地windows输出是16

洛谷是9

放在外面也变成了16

2020/10/9 12:55
加载中...