有以下程序#include<stdio.h>#include<string.h>main(){char a[10]=”abcd”;prinff(“

题目

有以下程序

#include<stdio.h>

#include<string.h>

main( )

{char a[10]=”abcd”;

prinff(“%d,%d\n”,strlen(A),sizeof(A));

}

程序运行后的输出结果是

A.7,4

B.4,10

C.8,8

D.10,lO

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序输出的结果为______。 main() { char*dlpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"}; char*p; int i; p=alpha; for(i=0;i<4;iff) printf("%s",p[i]) }

A.ABCDEFGHIJKL

B.ABCD

C.ABCDEFGHIJKLMNOP

D.AEIM


正确答案:C
解析:alpha[0]指向“ABCD”的首地址;alpha[1]指向“EFGH”的首地址;alpha[2]指向“IJKL”的首地址,依此类推。当执行p=alpha后,p指向指针数组alpha的首地址。for循环中输出了4个字符串。

第2题:

以下程序输出的结果为______。 main() { char *alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"); char **p; int i; p=alpha; for(i=0;i<4;i++) printf("%s",p[i]); }

A.ABCDEFGHIJKL

B.ABCD

C.ABCDEFGHIJKLMNOP

D.AEIM


正确答案:C
解析:alpha[0]指向“ABCD”的首地址;alpha[1]指向“EFGH”的首地址;alpha[2]指向“IJKL”的首地址,依此类推。当执行p=alpha后,p指向指针数组alpha的首地址。for循环中输出了4个字符串。

第3题:

以下程序输出的结果为______。 main() { char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"}; char**p; int i; p=alpha; for(i=0,i<4;i++) prntf("%s",p[i]); }

A.ABCDEFGHIJKL

B.ABCD

C.ABCDEFGHIJKLMNOP

D.AEIM


正确答案:C
解析:alpha[0]指向“ABCD'’的首地址;alpha[1]指向“EFGH'’的首地址;alpha[2]指向“IJKL”的首地址,依此类推。当初行p=alpha后,p指向指针数组alpha的首地址。for循环中输出了4个字符串。

第4题:

有以下程序: #include 〈iostream〉 using namespace std; #define M 10 #define B4 void setstar(char *a, int n) { int i; for (i=0; i

A.AB C D E F G H I J

B.AB C D * * * * * *

C.AB C D E F * * * *

D.* * * * * * A B C D


正确答案:B
解析:本题考查对指针作为函数形参的掌握程度。根据程序代码逐步分析:①第一个被调函数setstar()为void型。形参为一个char类型的指针变量a和一个整型变量n,函数体由for循环语句构成,给指针变量a所指的变量赋值,并对从a所指的存储单元开始的连续n个存储单元,进行赋值(*)。②函数arrout()也是void类型,形参也是两个,一个为char类型的指针,另一个是整型变量n。函数体也是由for循环语句构成,不过setstar()函数是给指针变量所指的存储单元赋值,:而arrout()函数是输出指针变量所指的存储单元中的值。③主函数中,程序首先定义并赋初值于数组c,调用setstar()函数,把实参数组元素c[4]的地址传递给setstar的形参变量a,并把M-B的值(即6)传递给n。这样最后的结果是数组元素c[0]、c[1]、c[2]和c[3]中的值不变,从c[4]开始以后的数组元素中的值都将被改变为字符'*'。调用函数arrout()输出改变后的数组c中的值。

第5题:

以下程序输出的结果为_______。 main() { char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"}; char**p; int i; p=alpha; for(i=0;i<4;i++) printf("%s",p[i]); }

A.ABCDEFGHIJKL

B.ABCD

C.ABCDEFGHIJKLMNOP

D.AEIM


正确答案:C
解析:alpha[0]指向“ABCD”的首地址;alpha[1]指向“EFGH”的首地址;alpha[2]指向“IJKL”的首地址,依此类推。当执行p=alpha后,p指向指针数组alpha的首地址。for循环中输出了4个字符串。

第6题:

有以下程序includemain(){char*a[]={"abcd","ef","gh","ijk"};int i; for(i=0;i<4;i++

有以下程序 #include<stdio.h> main() { char*a[]={"abcd","ef","gh","ijk"}; int i; for(i=0;i<4;i++) printf("%c",*a[i]); } 程序运行后的输出结果是______。

A.agei

B.dfhk

C.abcd

D.abcdefghijk


正确答案:A
解析:本题主要考查了字符数组的赋值,字符数组中的一个元素存放一个字符,所以数组元素a[0]、a[1]、a[2]和a[3]中依次存放了a、e、g、i,因此,在执行for循环时,四次的输出结果为a、e、g、i,因此选项A是正确的。

第7题:

有以下程序:include void sum(int a[ ] ){a[0]=a[-1] +a[1];}main ( ){int a[10] = {

有以下程序:#include <stdio, h>void sum(int a[ ] ){ a[0]=a[-1] +a[1];}main ( ){ int a[10] = {1,2,3,4,5,6,7,8,9,10}; sum(&a[2]); prinff("% d \n",a[2]); }程序运行后的输出结果是( )。

A.6

B.7

C.5

D.8


正确答案:A
解析:本题将主函数中a[2]的地址传递给了sum函数中的形参a[],使得sum函数中的(a+0)为主函数中a[2]的地址,所以a[-1]即*(a-1)的值为主函数中a[1]的值,故函数sum中a[0]=2+4。由于此函数中的a是指向主函数中的a[2],所以主函数中的a[2]的值即为6。

第8题:

以下程序输出的结果为 ______。main(){ char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"}; char**p; int i; p=alpha; for(i=0;i<4;i++) printf("%s",p[i]);}

A.ABCDEFGHIJKL

B.ABCD

C.ABCDEFGHIJKLMNOP

D.AEIM


正确答案:C
解析:alpha[0]指向“ABCD”的首地址;alpha[1]指向“EFGH”的首地址;alpha[2]指向“IJKL”的首地址,依此类推。当执行p=alpha后,p指向指针数组alpha的首地址。for循环中输出了4个字符串。

第9题:

有以下程序:includevoid fun(char**p){++P;printf("%s\n",*p);}main()char*a[]={"Morn

有以下程序: #include<stdio.h> void fun(char**p) { ++P;printf("%s\n",*p);} main() char*a[]={"Morning","Afternoon","Evening","Night"}; fun(A); } 程序的运行结果是( )。

A.Afternoon

B.fternoon

C.Morning

D.oring


正确答案:A