以下程序运行后的输出结果是【 】 #include <stdio.h> main ( ) { char a[] ="123456789", *p; int i =0;

admin2009-01-15  36

问题 以下程序运行后的输出结果是【  】  
      #include  <stdio.h>
       main ( )
       {  char a[] ="123456789", *p;
            int i =0;
            p=a;
            while( * p)
             {  if(i%2 ==0) *p=’*’;
                 p++;i++;
         }
            puts(a);
     }

选项

答案*2*4*6*8*

解析 程序中指针p指向数组a,while(*P)语句的循环条件是* p!=’\0’,在循环体中,当 i=0,2,4,6,8时,i%2=0,执行*p=’*’,即a=’*’,继续执行p++;i++;使i为奇数;当i=1, 3,5,7时,i%2=1,继续执行p++;i++;使i为偶数。可见,程序在字符串"123456789",的下标为偶数的位置上赋值’*’,代替原字符串中的1,3,5,7,9。所以,程序输出结果为*2*4*6*8*。
转载请注明原文地址:https://jikaoti.com/ti/5HK0FFFM
0

最新回复(0)