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

admin2022-04-02  29

问题 有下列程序
 #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、123456789964abbedefghijk
C、123445667899abbcdefghijk
D、abbedefghijkl23445667899

答案B

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

最新回复(0)