有以下程序 #include int fun(char s[]) { int n=0; while(*s=′0′) {n=10*n+*s-′0′;s++;} return(n); } main() { char s[10]={

admin2013-02-23  34

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

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

答案C

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

最新回复(0)