有以下程序 #include <stdio.h> int fun(char s[ ]) { int n=0; while(*s<=’9’&&*s>=’0’) {n=10*n+*s-’0’;s++;} retum(n)

admin2010-09-05  20

问题 有以下程序
   #include <stdio.h>
   int fun(char s[ ])
   { int n=0;
     while(*s<=’9’&&*s>=’0’) {n=10*n+*s-’0’;s++;}
     retum(n);
   }
   main( )
   { char s[10]={’6’,’1’,’*’,’4’,’*’,’9’,’*’,’0’,’*’};
     printf("%d\n",fun(s));
   }
   程序的运行结果是

选项 A、9
B、61490
C、61
D、5

答案C

解析 在fin函数中,while循环的功能是:逐个取字符数组s的字符判断其是否是数字。若是则将其作为个位数字保存到变量n中,n的原数据的各个数位将相应左移一个十进制位。当指针s指向数组的第3位时,循环条件不成立,循环结束,返回n的值,输出n的值为61。
转载请注明原文地址:https://jikaoti.com/ti/ewI0FFFM
0

最新回复(0)