sub(intn){if(n<5)return0;else if(n>2)return3;return1;if(n>5)return2;}main(){inta=10;printf(
答案:3 悬赏:50 手机版
解决时间 2021-02-07 05:16
- 提问者网友:刺鸟
- 2021-02-06 19:06
sub(intn){if(n<5)return0;else if(n>2)return3;return1;if(n>5)return2;}main(){inta=10;printf(sub(a));
最佳答案
- 五星知识达人网友:一叶十三刺
- 2021-02-06 20:00
3
严格来讲会出错
严格来讲会出错
全部回答
- 1楼网友:从此江山别
- 2021-02-06 20:54
1)别偷懒 ,不写返回值类型是个坏习惯
2)
int sub(int n){
if(n<5)return 0;
else if(n>2)return 3;
return 1; 这里可以加else 变成 else return 1;
if(n>5)return 2; //这句没用
}
int main(){
int a=10;
printf(sub(a));// 这里sub(a) =3 ,除非else if(n>2)return 3有错误;实际是 else if(n<2)return 3;
//编译不出错的话,这句的意思相当于
//char * fmt =( char * )3 ;
//printf(fmt);
//编译会出错,或者运行会出错,不出错的话,输出一串不知所谓的字符。
}
- 2楼网友:拜訪者
- 2021-02-06 20:05
当 a = 10 调用sub函数 n = 10 n > 5 n >2 所以,不执行if语句的后面的代码 但是,执行到return 1的时候 函数返回 返回值是1 这里,我还要提醒一点 没有知名类型的函数 一般是int 而不是void!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯