关于C语言,一下程序的输出结果是()

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-27
C语言 下面程序的输出结果是( )

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

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

是 0246802468
调用fun1()使得全局数组a值为{0,2,4,6,8}

调用fun3()输出全局数组a的值:02468
调用fun2()对全局数组a没有影响;
再次调用fun3(),又输出一次全局数组a的值:02468

选B。
详细解答:
a+=2;y+=a;=>a=a+2=10+2=12;y=y+a=0+12=12
printf("a=%d y=%d\n",a,y); =>第一行输出为:a=12 y=12
if(y>20) 不成立,不执行break,
执行while(a=14);=>注意a=14是赋值语句,将a的值更新成14,a=14不等于0,while()语句为真,继续循环;
a+=2;y+=a;=>a=14+2=16;y=12+14=28;
printf("a=%d y=%d\n",a,y); =>第二行输出为:a=16 y=28
if(y>20) 成立,执行break,跳出 do·····while()循环,结束。
望采纳!

选b
a+=2 a=12 y=a+0=12

a=14 y=a+a=28

  • 关于C语言,一下程序的输出结果是()
    答:详细解答:a+=2;y+=a;=>a=a+2=10+2=12;y=y+a=0+12=12 printf("a=%d y=%d\n",a,y); =>第一行输出为:a=12 y=12 if(y>20) 不成立,不执行break,执行while(a=14);=>注意a=14是赋值语句,将a的值更新成14,a=14不等于0,while()语句为真,继续循环;a+=2;y+=a...
  • 以下程序的输出结果是()C语言。
    答:因为c++,所以c改变为8
  • C语言有关问题。以下程序的输出结果是:(并且给出解释)
    答:输出结果:c language 解释:if LETTER if(c>='a'&&c<='z') c=c-32;else if(c>='A'&&c<='Z') c=c+32;endif 这段是指当LETTER的值为真(非零)时执行第一个程序段if(c>='a'&&c<='z') c=c-32;否则执行第二个程序段if(c>='A'&&c<='Z') c=c+32;这里宏定义#define...
  • 以下程序的输出结果是( ) main() { int a=3,b=4; printf("%d\n",a...
    答:C 。在C语言中因为a<=b是正确的,所以返回1,所以输出1
  • c语言,以下程序的输出结果是?
    答:输出 1 3 这是递归了,所以先是fun(3),进入后发现3/2=1,所以又继续func(3/2),也就是fun(1),进入发现1/2=0,就执行prinft,输出1,然后fun(1)就返回了;返回出去正好是fun(3)的prinft,输出3 进入fun(3)进入fun(1)输出1 退出fun(1)输出3 退出fun(3)...
  • 4、 以下程序的输出结果是main( ){ int k=17;printf("%d,%o,%x \n...
    答:以下程序的输出结果是main(){intk=17;printf("%d,%o,%x\n",k,k,k);} 结果:17,21,11。d是以十进制输出;x是以十六进制输出;o是以八进制输出;所以把17转换为对应的进制。
  • C语言 38. 填空题 以下程序的输出结果是___。 #include<stdio.h>...
    答:f=f*i;else //若新的n阶乘,不大于上次求的t的阶乘,则从1开始做乘法计算n!{f=1;for(i=1; i<=n; i++)f=f*i;}t=n; s=s+f; //保存最近的计算阶乘的n值,以及累加n!return(s);}该程序的作用是求3!+5!+2!6+120+2=128,所以,运行的答案是:sum=128 ...
  • C语言,以下程序运行后的输出结果为__
    答:开始时,len为0,offset=3,offset不为0,先输出p+offset-1上的元素,即*(p+2),为g,并len++,再调用print(str)。之后,每次递归,len静态变量保存了上一次的值。实际上,len每加一,offset就随之向左偏移一位,指向前面的一个字符,也就是倒过来输出字符串中的每个字符。直到len=strlen(str)...
  • 以下程序的输出结果是 main( ) { int a=12,b=12; printf("%d %d\n...
    答:程序输出的结果为a=11,b=13。程序的执行过程:首先定义了a的值为12,b的值为12,然后执行我们的输出语句,我们输出的不是a和b的值,而是表达式“--a”和表达式“++b”的值,因为前缀的“++”和“--”都是先进行加一或者减一的操作,再输出。所以说“--a”输出的结果为11,“++b”输出的...
  • c语言下述程序的输出结果是?
    答:y=10-1=9,x=5,两者不等,执行x++,x=6,a=++x,先执行++x,x=7 a=7 b=y=9,执行y++,y=10 c=x=7 因此输出结果为7,9,7 执行程序,进行验证:与计算结果一致,计算无误。