有下列程序: #include<stdio.h> main() { int i,j=0; char a[]=”ab1b23c4d56ef7gh89i9j64k”,b[100]; for(i=0;a

admin2022-10-25  24

问题 有下列程序:
     #include<stdio.h>
     main()
     {
     int i,j=0;
     char a[]=”ab1b23c4d56ef7gh89i9j64k”,b[100];
     for(i=0;a;i++)
       if(a<’a’||a>’z’)
         b[j++]=a
     for(i-0;a;i++)
       if(a<’0’||a>’9’)
         b[j++]=a
     b[j]=’\0’;
     printf(”%s”,b);
     }
     程序执行后的输出结果是(          )。

选项 A、abbcdefghijk123456789964
B、123456789964abbcdefghijk
C、123445667899abbcdefghijk
D、abbcdefghijkl23445667899

答案 B

解析 程序定义数组a和b,其中a使用小写字母和数字构成的字符串完成初始化。第1个for循环将数组a中所有的非小写字母(数字字符)自左向右存放到b数组中;第2个for循环将数组a中所有的非数字字符(小写字母)自左向右存放到b的后续单元中,在所有字符后添加空字符,输出b,此时b的值为123456789964abbcdefghijk。本题答案为B选项。
转载请注明原文地址:https://jikaoti.com/ti/2Gd0FFFM
0

最新回复(0)