永发信息网

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!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯