问题
单项选择题
有以下程序 #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。