菜鸟这段C程序用VS2015编译通过且运行正确,为何用GCC调试却说runtimeErr

C语言 码拜 8年前 (2016-09-15) 1051次浏览
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
	int n,p=0;
	int a[100], m = 0;
	while (scanf("%d", &n) != EOF)
	{
		int sum = 1, j = 1, c = 1, i;
		while (c < n)
		{
			for (i = j; i >= 1; i--)
			{
				sum += 1;
				c++;
				if (c == n)
					break;
			}
			if (i == 0&&c<n)
			{
				sum -= 1;
				j++;
				c++;
			}
		}
		if (c == n)
			a[m++] = sum;
	}
	for (p = 0; p < m; p++)
		printf("%d\n", a[p]);
	system("pause");
	return 0;
}

题目是经过严密的计算,小赛买了一支股票,他知道从他买股票的那天开始,股票会有以下变化:第一天不变,以后涨一天,跌一天,涨两天,跌一天,涨三天,跌一天…依此类推。
为方便计算,假设每次涨和跌皆为1,股票初始单价也为1,请计算买股票的第n天每股股票值多少钱?
输入1
2
3
4
5
输出1
2
1
2
3
这是京东2016在线笔试题目,提示用的是gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)。这段程序本人在VS2015上正常运行,为何到了GCC就不行?没用过GCC,求帮助高手

解决方案

20

把 system(“pause”) 去掉。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明菜鸟这段C程序用VS2015编译通过且运行正确,为何用GCC调试却说runtimeErr
喜欢 (0)
[1034331897@qq.com]
分享 (0)