C语言高手请进
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言高手请进相关的知识,希望对你有一定的参考价值。
有一个简单的程序,老是运行不了,也不知道错在哪,请高手指点
main()
int num1,num2,max;
scanf("%d,%d",&num1,&num2);
printf("max=%d\n",max(num1,num2));
int max(int x,int y)
if(x>y) return x;
else return y;
把你们谁改好的程序,发过来,我一看就明白
main函数之外你定义了一个叫max的函数,
会造成编译时二义性.所以不能运行.
(因为在函数中定义的同名变量或函数会覆盖该
函数体外的变量或函数) 参考技术A scanf("%d,%d",&num1,&num2);
把%d,%d中间的逗号取掉.再加上头文件
还有楼下的说:函数申明 参考技术B 函数使用前需要声明。
main()
int num1,num2,max;
int max(int x,int y);
scanf("%d,%d",&num1,&num2);
printf("max=%d\n",max(num1,num2));
int max(int x,int y)
if(x>y) return x;
else return y;
参考技术C int num1,num2,max;//定义函数出错;
改为:
int max(int x,int y);
int int num1,num2;
另外:建议你不要用max这个字符,避免和某些关键字符重复! 参考技术D 在使用函数的时候需要加以声明的,声明应该在使用该函数之前,即在printf("max=%d\n",max(num1,num2));
这句话之前应该有一句
int max(int x,int y);
,或者直接把
int max(int x,int y)
if(x>y) return x;
else return y;
这句写在main函数之前,也就是最上边,已达到声明的效果 第5个回答 2007-09-22 int max(int x,int y)
if(x>y) return x;
else return y;
main()
int num1,num2;
scanf("%d,%d",&num1,&num2);
printf("max=%d\n",max(num1,num2));
以上是关于C语言高手请进的主要内容,如果未能解决你的问题,请参考以下文章