问题 填空题

以下程序运行后的输出结果是 【9】
#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[i]=’*’,继续执行p++;i++;使i为奇数;当i=1, 3,5,7时,i%2=1,继续执行p++;i++;使i为偶数。可见,程序在字符串"123456789",的下标为偶数的位置上赋值’*’,代替原字符串中的1,3,5,7,9。所以,程序输出结果为*2*4*6*8*。

单项选择题
选择题