已解决问题 - 浏览199次
下一个已解决问题为何我在VC++6.0上编译程序总是提示有误?
这是我写的程序:
#include <stdio.h>
main()
{int a;
printf("please input the num:
");
scanf("%d",&a);
if(a%2==0) printf("It's an odd number.");
else printf("It's even.");
}
编译提示 1error(s)0warning(s)
后来我照着课本上的程序敲了一个进去,还是这个提示,是不是那里需要空格什么的没注意到?
最佳答案 - 由投票者2008-09-05 23:22:02选出
不知道你是在什么环境下编译的。
如果是TC的话,你的代码应该是没有问题的。
如果是在C++的环境下编译的话 改成void main()就可以了。以下代码在vs2008下测试通过
#include "stdafx.h"
#include <stdio.h>
void main()
{
int a;
printf("please input the num: ");
scanf("%d",&a);
if(a%2==0)
printf("It's an odd number.");
else printf("It's even.");
}
其他回答(2)
-
我在vc6下编译没问题,是你的编译环境有问题吧。
-
楼上说的void不加也没有关系的。我看程序语言也没有错误,好像。
但是就算编译通过了这个程序也有逻辑错误。它会把奇数说成偶数,把偶数说成奇数。因为odd是奇数,even是偶数。举个例子,如果你输入整数a是奇数的话,执行if语句时,a%2为0,那么0==0,是正确的,返回真值,结果会显示“It's an odd number.”,奇数。同理,当你输入偶数时,结果却显示奇数。但是输出语句应该是和这个没有关系的。
可能是你同时打开了两个工作空间,导致出现这种情况。

lwy0105@yaho

云亦影
yhx100917









