当我使用gcc -Wall
进行编译时,它向我显示此警告:
警告:控制权到达非空函数[-Wreturn-type]
的末尾
#include <stdio.h>
int concatenate(int y, int a)
{
if (a<y)
{
a = a * 10;
concatenate(y,a);
}
else
return a;
}
int main(void)
{
int x;
int y;
int a = 10;
scanf("%d%d", &x, &y);
int z = concatenate(y,a);
int result = x*z + y;
printf("%d\n", result);
return 0;
}
答案 0 :(得分:1)
在此if语句中
if (a<y)
{
a= a * 10;
concatenate(y,a);
}
该函数不返回任何内容。也许你意思是
if (a<y)
{
a= a * 10;
return concatenate(y,a);
}
答案 1 :(得分:0)
当return
为true时,concatenate
函数中不会执行任何a<y
语句。
即使return
可以解决警告,也要执行a<y
语句。
我的猜测是你想要的
return concatenate(y,a);
代替
concatenate(y,a);