C语言 下面程序的输出结果是( )

作者&投稿:恽褚 (若有异议请与网页底部的电邮联系)
C语言:以下程序的输出结果是 #include <stdio.h>~

三个指针全部指向各自相应的变量等价,所以这个问题你可以这样解决:
第一题的答案是:

第二题的答案:

这题的答案是A。
答案A这是出题者的想法,因为x86的整数内存模式是低位在前的小前端模式,i数组占用了k的低位两个字节的内存,并且0x38在高位,但出题者忽略了一点,k的最高两个字节是随机的,不一定是0,所以4字节的int环境下,实际输出是 ????3839 ,前4位是随机的

fun(char *s)
{ char t;
if (*s) {t=*++s; putchar(t); fun(s); }
}

这个函数的功能就是从字符串第二字节开始输出
t=*++s;
这句就是第二字节的原因
改成t=*s++;就变成从第一字节开始输出
if (*s)就是遇到*s==0即退出

fun(char *s)函数调用中,参数传递的是字符串的首地址,所以t=*++s,是将S后移一位,指向下一个数据,然后赋给t。用了简单的递归调用,仔细看一下就能明白。

t=*++s
问题在这里咯
++就是+1 不会有1
也就是说"1234"
++是从2读起
所以输出234


会宁县15379456705: C语言问题:下列程序执行后输出的结果是 -
邵呢氨基: 4,D)正确,选D)——for循环调用两次f,第一次调用返回3(a=c++使a==3),第二次调用返回4(由于c是static变量,上次调用时3赋给a后c++变c为4).最后输出是第二次调用后的返回值.

会宁县15379456705: C语言题:下面程序的输出结果是: -
邵呢氨基: 正确答案选择A:SO i=3时p[i]指向"SP"首字母,*p[i]取他的首字母的值输出即是S i--,i--得到i=1 i=1时p[i]指向“OPK"的首字母,*p[i]取他的首字母的值输出即是O i--,i--得到i=-1,不满足循环条件,跳出循环输出回车

会宁县15379456705: C语言 以下程序段的输出结果是多少?? -
邵呢氨基: 第一个是100 var 取b得地址 所以*var = b = 100 , 所以b = 110, 所以*var = 110 第二个,因为== 的优先级高于=的优先级,所以先执行 getchar == 'A', 输入A后,二者相等,返回1 所以ch = 1 p = a ,就是取a数组的第一个元素的地址,所以*p = a[0] = 5;*p++ 这儿优先级相等,结合性为从右至左,且p++只在表达式结束后才自增, 所以就等于*p++ = a[0] = 5 同理和上面一样, ++会在表达式结束后自增,(*p)++ = a[0]++ = 5

会宁县15379456705: 在C 语言中,下列程序的输出结果是 (). -
邵呢氨基: 是 5,9 第一次调用:s=f(2); 函数内 k=2; k++; 使 k 的内容为3,return k+m;返回的数值时 3+2=5,使得s的内容为5 第二次在printf中调用 f(s) 即 f(5)调用,在函数内,k是静态变量,内容保持上次函数运行后的结果,为3,进行k++,使内容为4;运行return k+m;此时k的内容为4, m的内容有实际参数决定为5,所以返回的计算结果为 4+5=9

会宁县15379456705: C语言,以下程序的输出结果是? -
邵呢氨基: 死循环啊,结果是:01234 省略 ·

会宁县15379456705: c语言 以下程序的输出的结果是 -
邵呢氨基: static int x=1; 表示x是一个静态变量,它的值将被保存在静态区.通俗的说就是不论你调用incre();函数多少次,x只初始化一次,并且,其值是有保存的,即下次使用时是在上一次的基础上使用的. 循环时.i=1,调用一次incre();此时x=2,输出2. i=2,再调用一次incre();此时x并没有被再次复值,其值仍然是2,输出为2*3=6. i=3,退出循环. 所以答案为c.

会宁县15379456705: C语言以下程序的输出结果是: - --
邵呢氨基: s[3]='\0'; 截取到第四个字符. s[0]='a' s[1]='b' s[2]='c' s[3]='d' 所以C abcd 遇到"\0"就结束输出内容. 楼上楼下的一致选D,也许是我理解错了,呵呵.

会宁县15379456705: 下面C语言程序的输出结果是 -
邵呢氨基: s=s1; //s指向s1; while(*s1!='\0') s1++; //*s1='\0'(其实这行毫无意义) while(*s1++=*s2++); //s1,s2都指向的位置后移4位(其实这行毫无意义) s2=s; //s2指向s while (*s2!='\0') s2++; //s2指向'\0' printf("%d\n",s2-s); //结果为7(就是"here is"的...

会宁县15379456705: C语言问题 以下程序的输出结果是# include main(){ int a=2,c=5; printf("a=%%d,b=%%d\n",a,c); }A) a=%2,b=%5 B) a=2,b=5 C) a=%%d,b=%%d D) a=%d,b=... -
邵呢氨基:[答案] 这是一个优先集的问题 %%这个最终的结果是% 他比%d优先 所以显然a=%%d就等于a=%d. 因此显然选的是D

会宁县15379456705: C语言基础. 下列程序段的输出结果是 - ----. -
邵呢氨基: 你将printf语句改成如下即可 printf("x=%f,y=%d",x,y); 既然x是float就应该用%f y是int就应该用%d

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网