有以下程序 main() { char s[]="abcde"; s+=2; printf("%d/n",s[0]); } 执行后的结果是()A、输出字符a的ASCII码B、输出字符c的ASCII码C、输出字符cD、程序出错

题目

有以下程序 main() { char s[]="abcde"; s+=2; printf("%d/n",s[0]); } 执行后的结果是()

  • A、输出字符a的ASCII码
  • B、输出字符c的ASCII码
  • C、输出字符c
  • D、程序出错
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有以下程序:

include<stdio.h>

main

{ char s[]="rstuv";

printf("%c\n",*s+2);

}

程序运行后的输出结果是( )。

A.tuv

B.字符t的ASCIl码值

C.t

D.出错


正确答案:C

本题中,语句printf函数输出的是字符指针S所指变量的ASCIl表对应值,即ASCIl表中值为s[0]+2的字符。所以选C。

第2题:

有下列程序:

main()

{char s[]="abcde";

s+=2;

printf("%d\n",s[0];

}

执行后的结果是( )。

A.输出字符a的ASCII码

B.输出字符c的ASCII码

C.输出字符c

D.程序出错


正确答案:D
解析:因为字符数组s1)中的数组名s表示的是一个地址常量。所以语句“s+=2;”不能将指针在当前位置的基础上再向后移动两位,因而程序编译时出错。

第3题:

(25)有以下程序

#include<stdio.h>

void fun(char *s)

{while(*s)

{ if(*s%2==0) printf(“%c”,*s);

s++;

}

}

main()

{ char a[]={“good”};

fun(a);printf(“\n”);

}

注意:字母a的ASCII码值为97,程序运行后的输出结果是

A)d B)go C)god D)good


正确答案:A

第4题:

以下程序段的输出结果为()。charastr[5]="1234";char*pstr=astr;printf("%c",pstr[1]-'0');

A.ASCII码值为2的字符

B.ASCII码值为1的字符

C.2

D.1


正确答案:C

第5题:

若有如下程序; main() {char *p="china"; p+=1; printf("%d\n",p); } 则程序运行后的输出结果是 ( )

A.china

B.字符h的地址

C.hina

D.字符h的ASCII码值


正确答案:B

第6题:

有以下程序 main() { char s[]="abcde"; s+=2; printf("%d\n",s[0]); } 执行后的结果是______。

A.输出字符a的ASCⅡ码

B.输出字符c的ASCⅡ码

C.输出字符c

D.程序出错


正确答案:D
解析:此题中s是—个字符数组,而字符数纽是在编绎时为它分配内存单元的,即此字符数组的地址在编译时是确定的,所以对此地址变量并不能赋值,故语句“s+=2;”错误,故程序出错。

第7题:

有以下程序: #include<stdio.h> main { char s[]="rstuv"; printf("%c\n",*s+2); } 程序运行后的输出结果是( )。

A.tuv

B.字符t的ASCIl码值

C.t

D.出错


正确答案:C
本题中,语句printf函数输出的是字符指针S所指变量的ASCIl表对应值,即ASCIl表中值为s[0]+2的字符。所以选C。

第8题:

下面程序段的运行结果是 char *S="abcde"; s+=2;printf("%d",s);

A.cde

B.字符'c'

C.字符'c'的地址

D.无确定的输出结果


正确答案:C
解析: 对于字符串指针,其保留的是整个串的首地址,即第一个字符的起始地址;当该指针做算术运算时,就是该指针根据其类型向后移动相应的存储空间。

第9题:

数字字符0的ASCII值为48,若有以下程序 main() { char a='1',b='2'; printf("%c,b++); printf("%d\n",b-a); } 程序运行后的输出结果是______。

A.3,2

B.3,1

C.2,1

D.2,2


正确答案:D

第10题:

数字字符0的ASCII值为48,若有以下程序: main() { char a='1',b='2'; printf("%c,",b++); printf("%d\n",b-a); } 程序运行后的输出结果是 ______。

A.3,2

B.50,2

C.2,2

D.2,50


正确答案:C
解析:b++是先使用b再给b赋值1,因此是先输出2,再将b加1,b='3',则第一条语句输出2,第二条语句输出2。

更多相关问题