只有老式VC++编译器才规定变量声明必须放在最上方,C语言本身并没有这种规定。
另外如果你在用VC++的话,可以抛弃它了,因为比它智能、好用、简洁的编译器有的是,比如我用的Code::Blocks,而且国家二级计算机考试已经开始使用Visual C++ 2010 学习版(即 Visual C++ 2010 Express),也不用VC++了。
所以你的代码没什么错的
#include
int main(void) // C语言建议这么写,C++可以省略void
{
int a,b,c;
scanf("%d %d %d", &a,&b, &c);
int max = 0;
if(a>b)
if(a>c)
max=a;
else
max=c;
else
if(b>c)
max=b;
else
max=c;
printf("最大值为max=%d\n", max);
return 0; // 只有主函数的return 0;可写可不写,但仍然建议写上,尤其算法竞赛的时候
}
另外你的算法有些麻烦,如果只是比较三个数,可以这么写:
#include
int main(void)
{
int a,b,c;
scanf("%d %d %d", &a,&b, &c);
int max = a;
if (max < b)
max = b;
if (max < c)
max = c;
printf("最大值为max=%d\n", max);
return 0;
}
#include
int main()
{//少括号
int a,b,c;
int max = 0;//C++或C#可以在中间定义变量,但C只能在开头定义变量
scanf("%d %d %d", &a ,&b, &c);
if(a>b){
if(a>c){
max=a;
}else{
max=c;
}
}else{
if(b>c){
max=b;
}else{
max=c;
}
}
printf("最大值为max=%d\n", max);
}//少括号
if (a > b)
{
max = a;
}
else
{
max = b;
}
if (max < c)
{
max = c;
}