问 个简单问题 懂的帮个忙

来源:百度知道 编辑:UC知道 时间:2024/09/24 02:16:22
我这个是这样的:
#include<stdio.h>
void main()
{
int max(int *a,int *b,int *c);
int a=5,b=4,c=3;
int *p=&a,*q=&b,*r=&c;

printf("%d\n",max(p,q,r));
}
int max(int *a,int *b,int *c)
{
if(*a>*b&&*a>*c)//在此处加一;号 无错误无警告
return *a;

}
把; 号 去了 给一个警告
警告 信息是
warning C4715: 'max' : not all control paths return a value
问是什么 情况 请教 各位 给解释下 谢谢大家了

警告的意思是 max函数不一定都存在返回值。
你加上分号之后代表if语句到分号就结束了,就是说不管符不符合if的条件,下面的return*a 都会执行成为max的返回值,所以就没警告了,但是这样if就失效,不是你编程序的本意了。
可以给程序加else来避免警告的出现。

找我呗
货真价实