c语言中,以下程序输出结果是什么?

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-27
c语言中,以下程序的输出结果是什么?

6 15
这是我一步步想出来的。这题是考查对变量作用域的!
首先,main 函数中的d 就是int d = 1的这个d .所以
printf ( "%d
" , fun ( a + fun ( d ) ) ) ;
相当于 printf("%d
", fun(a + fun(1))) ;
这样子就调用了fun(1) ;
在fun函数中的d则是static int d = 5这个d,因为这个d是在函数内部,优先于int d = 1 ;的这个全局变量。而且这个d(FUN中的)是static型的,即静态型的,退出FUN之后,他的值会保留到下次再调用这个函数时!

第一行printf,m++是先输出原m值12,后进行++为13,++n先++为35,输出35,故第一行输出结果为12 35;
第二行printf,n++也是输出上面改变后的n的值35,再++,++m先++为14(上面m已改变为13,再++),输出14,第二行输出为35 14
以上,如此,希望看得明白

输出为8
其实这是一个球最大公约数的函数,用的是欧拉公式
a b两个数的最大公约数为选大的%小的,然后替换
至于你说的步骤,你可以把abc(24,16)代入
开始v=16
while: w=8 u=16 v=8
while: w=0 u=8 v=0 退出循环
返回u=8

结果为8,分析
int abc ( int u , int v )

这个函数,while(16) 24%16=8 即 w=8,u=16, v=8;第2次 while(8) 16%8=0 即w=0,u=8,v=0
此时while(0)跳出循环,所以程序返回8.

调用子函数,while 第一次循环w~8.u~16.v8*第二次,0停止循环。返回16拿c接收

16

16

  • c语言,以下程序运行后的输出结果是
    答:c=(a+=a-=5)是一个表达式,(a=b,b+3)是另一个表达式。a=0,a=a-5=-5,a=a+a=(-5)+(-5)=-10,将值赋给c,c=-10,此时,a=-5 a=b,将b的值赋给a,a=0,执行b+3=0+3=3,这个3不对任何变量赋值。因此最终结果a=0,b=0,c=-10 输出a、b、c的值,输出0,0,-10...
  • c语言 以下程序运行后的输出结果是( )
    答:选A。因为strlen()函数不计算'\0',所以其统计数字较sizeof少一个。
  • C语言。以下程序的输出结果是( )。抱歉啊,真的没有分了!
    答:首先a>c?a:c a>c不成立,所以是c 然后就可以转化成d=a>b? c:b a>b成立 所以是c也就是6 选C
  • C语言问题:以下程序的输出结果是
    答:这个是死循环,因为循环的条件是i<=3,但i在循环中并没有任何变化,永远是1
  • 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...
  • c语言题目:下面程序段的输出结果是什么?
    答:答案是0 int k没有初始化,所以初始值不确定,但是int类型 4个字节(范围是-2147483648~2147483647). 所以在计算k的值时候,从起始地址往下数32位, 超出32位的会被截断 如果是正数,那最后就是0,很直观 如果是负数(8个字节来看)0xffffffffffffffff === -1 0xfffffffffffffffe === -2 ...
  • C语言,以下程序的输出结果是?
    答:main(){ pstar();//调用函数pstar一次,那么由下面pstar功能可知输出为 *** 后换行。printf("欢迎使用本程序!\n");//输出 欢迎使用本程序!后换行。pstar();//又一次调用函数pstar,同样输出 *** 后换行。} pstar(){printf("***\n");} //该函数作用是输出***以后换行。其实这...
  • C语言,以下程序运行后的输出结果为__
    答:递归函数。开始时,len为0,offset=3,offset不为0,先输出p+offset-1上的元素,即*(p+2),为g,并len++,再调用print(str)。之后,每次递归,len静态变量保存了上一次的值。实际上,len每加一,offset就随之向左偏移一位,指向前面的一个字符,也就是倒过来输出字符串中的每个字符。直到len=...
  • C语言问题:请选出以下程序的输出结果
    答:所以for函数中的对参数x的打印始终保持着原来x的值,因此程序打印出来的结果:0 0 0 0题中知识点归纳:1、c语言指针使用的过程中,除非改变指针的指向或直接改变指针所指向的内容,否则指针指向内容是不会变化的。2、c语言中,如果需要回传参数,请使用return()函数。3、c语言中,static 关键字可以...
  • 在c语言中以下程序段运行后的输出结果是
    答:输出结果是3.int n[3], t, j, k;for (t=0; t<3; t++){ n[t] = 0; //这个相当于数组的初始化,全部初始化为0 } k = 2;for (t=0; t<k; t++) //执行for循环,当t=0时,j=0时,n[0] = n[0] + 1;得到n[j]=1,这里的n[t]的 { 值也将从0变为...