有以下程序main(){ char a[]={ ’a’, ’b’, ’c’, ’d’, ’e’, ’f’, ’g’, ’h’, ’\0’}; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%d\b",i,j);}程序运行后的输出结果是A.9,9 B.8,9 C.1,8 D.9,8
- A9,9
- B8,9
- C1,8
- D9,8
有以下程序main(){ char a[]={ ’a’, ’b’, ’c’, ’d’, ’e’, ’f’, ’g’, ’h’, ’\0’}; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%d\b",i,j);}程序运行后的输出结果是A.9,9 B.8,9 C.1,8 D.9,8
在本题中,程序首先定义一个字符数组,并对其进行了初始化,在初始化的最后添加了一个字符串结束标志,表示前面的各字符可以被当做一个字符串操作。从这个初始化的操作我们也可以看出数组的长度为9。然后定义两个整型变量,分别用于保存计算结果,sizeof(a)是计算数组a所占的存储空间字节数,由于数组a是大小为9的字符型数组,那么占用的存储空间是1´9=9个字节,将结果保存至变量i中。strlen(a)是计算数组a中字符的个数,虽然数组a中有9个字符,但结合上面的分析我们可以知道,其中’\0’是字符串结束标志符,不能作为字符串中的字符,因此返回的结果是8,并将该结果保存至变量j中。最后,程序执行输出语句,分别输出变量i和j的值,从上面的分析我们可以知道,输出的结果是9,8,因此本题正确答案是D。
1、有以下程序: #include<stdio.h> main() { char
有以下程序: #include<stdio.h> main() { char c[6]; int i=0; for(j<6;c[i]=getchar(),i++); for(i=0,i<6;i++)putchar(c[i]); printf(" "); } 如果从键盘上输...
2、有以下程序: main() { char str[][10]={"China
有以下程序: main() { char str[][10]={"China","Beijing"),*P=str; printf("%s ",p+10); } 程序运行后的输出结果是 ______。AChinaBBeijingCngDing
3、有以下程序: #include<stdio.h> main(){ char
有以下程序: #include<stdio.h> main(){ char c[6]; int i=0; for(;i<6;c[i]=getchar(),i++); for(i=0;i<6; i++)putchar(c[i]); printf(" "); } 如果从键...
4、以下程序的输出结果是( )。main{int x=0.5;char z=a;
以下程序的输出结果是( )。main{int x=0.5;char z=a;printf("%d\n",(x&1)&&(z<2));}A0B1C2D3
5、有下列程序:main{ char p[]={a,h,c},q[]="
有下列程序:main{ char p[]={a,h,c},q[]="a";printf("%d%d\n".sizeof(P),sizeof(q));}程序运行后的输出结果是( )。A4 4B3 3C3 4D4 3
6、有以下程序 main() { int a=666,b=888; Printf
有以下程序 main() { int a=666,b=888; Printf("%d ",a,b) ; } 程序运行后的输出结果是A错误信息B666C888D666,888