有以下程序: int sub(int n) { return(n/10+n%10); } main() {int x,y; scanf("%d",&x); y=sub(sub(sub(x))); printf

admin2009-02-15  17

问题 有以下程序:
   int  sub(int  n)  {  return(n/10+n%10);  }
   main()
   {int  x,y;
   scanf("%d",&x);
   y=sub(sub(sub(x)));
   printf("%d\n",y);
   }
   若运行时输入1234<回车>,程序的输出结果是【  】。

选项

答案10

解析 本题考查的是函数的调用,函数sub调用后的返回值仍被作为实参传递给函数sub的形参,此种调用连续进行3次,第一次调用:sub(1234)的返回值为1234/10+1234%10,即127;第二次调用:sub(127)的返回值为127/10+127%10;即19;第三次调用:sub(19)的返回值为19/10+19%10,即10。所以程序输出的结果是10。
转载请注明原文地址:https://kaotiyun.com/show/PqXp777K
0

最新回复(0)