单选题有以下程序:#include int disp(char *str){ while(*str) putchar(*str++); putchar('#'); return *str;}main(){ printf(%d,disp(C##123));}程序运行后的输出结果是( )。AC##123#0BC##1230CC##0DC##123#\0
单选题
有以下程序:#include int disp(char *str){ while(*str) putchar(*str++); putchar('#'); return *str;}main(){ printf(%d,disp(C##123));}程序运行后的输出结果是( )。
A
C##123#0
B
C##1230
C
C##0
D
C##123#\0
参考解析
解析:
disp函数中,存在while循环,当指针指向地址单元存储的字符不等于空字符'\0',输出此字符,否则退出循环,输出'#'。在主函数中调用disp函数时,字符串"C##123"先全部输出,当指针指向字符串最后的空字符时,退出循环,输出'#',并且再将'\0'返回输出。由于disp函数返回类型为int,所以返回'\0'的ASCII码0,答案选择A选项。
disp函数中,存在while循环,当指针指向地址单元存储的字符不等于空字符'\0',输出此字符,否则退出循环,输出'#'。在主函数中调用disp函数时,字符串"C##123"先全部输出,当指针指向字符串最后的空字符时,退出循环,输出'#',并且再将'\0'返回输出。由于disp函数返回类型为int,所以返回'\0'的ASCII码0,答案选择A选项。
相关考题:
单选题有以下程序:#include main(){ FILE *fp; int k,n,i,a[6]={1,2,3,4,5,6}; fp=fopen(d2.dat,w); for(i=0;i6;i++) fprintf(fp,%d,a[i]); fclose(fp); fp=fopen(d2.dat,r); for(i=0;i3;i++) fscanf(fp,%d%d,k,n); fclose(fp); printf(%d,%d,k,n);}程序运行后的输出结果是( )。A1,2B3,4C5,6D123,456
单选题有如下程序:#include int sum(int *array,int len){ if(len == 0) return array[0]; else return array[0]+sum(array+1,len-1);}main(){ int array[5] = {1,2,3,4,5}; int res = sum(array,4); printf(%d,res);}程序运行后的输出结果是( )。A15B10C8D1
单选题有以下程序:#includemain(){ char *s=12134; int k=0,a=0; while(s[k+1]!='\0') { k++; if(k%2==0) { a=a+s[k]-'0'+1; continue; } a=a+(s[k]-'0'); } printf(k=%d a=%d,k,a);}程序运行后的输出结果是( )。Ak=6 a=11Bk=3 a=14Ck=4 a=12Dk=5 a=15
单选题在教师表中,如果要找出职称为“教授”的教师,所采用的关系运算是( )。A投影B选择C联接D自然选择