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

admin2010-12-10  20

问题 有以下程序    #include  <stdio.h>    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://kaotiyun.com/show/DQPp777K
0

最新回复(0)