【发布时间】:2014-08-25 20:17:53
【问题描述】:
#include<stdio.h>
int main() {
int i, m1, m2, n, num;
puts("\n");
scanf("%d",&n);
for(i = 0; i < n; i++) {
scanf("%d", &num);
if(i == 0) {
num = m1 = m2;
}
if(num > m1) {
m2 = m1;
m1 = num;
} else if(num > m2) {
m2 = num;
}
}
return 0;
}
我的标准输入:-950 -588 -169 -187 -445 400 -1
我必须得到标准输出:-169,但它显示标准输出:\n
注意:我想在没有数组的情况下解决这个问题。
【问题讨论】:
-
好吧,你永远不会
printf()结果... -
@cdhowie 你能详细说明一下吗?
-
当
i == 0、num = m1 = m2用未定义的值覆盖您读取的num。代码假定m1和m2已定义,但最初并未定义。 -
@NidhiMurthy 我的意思是你计算了一个结果,但你从不写出来。你把它扔掉。如果你想让你的程序有一些输出,你需要让它写一些输出。
-
@NidhiMurthy 实际输出为空白,因为你从不写任何输出。
标签: c