下列C语言代码的运行结果是()。

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-27
求:C语言高手看看以下程序的运行结果!

1:27 27 15
2:******
* *
* *
******
3:11 13 17 19 23 29
4:(1)x=2 y=3 z=0
(2)x=4 y=9 z=5
(3)x=2 y=3 z=0
5:6,720
6:20
7:同 2题。
8:1 3 4 5
9:2 , 3 , 2
10:3 , 1 , 5

没有印错 语句的意思是这两分句是一条语句 都要执行 它的形式相当于加个括号
x=y=0;
while(x<15)
{
y++;
x+=++y;
}
printf("%d,%d",y,x);
程序是这样执行的 第一次判断x<15 y++ 变成1 后面的语句x+=++y;++优先级比+高 所以y先自加 变成2 x再加y值变成2 所以第一次循环完 x=2 y=2 执行完返回while判断x是否小于15 小于则执行 如果不成立则返回x,y的值
同理一样 我主要把每次循环的结果给你 按照上面我的说法你自己对对哈
第一次 x=2 y=2
第二次 x=6 y=4
第三次 x=12 y=6
第四次 x=20 y=8
最后x不小于15 所以返回x,y的值
you clear???
++y用的是自加后的值 不是原来的值

选c,结果为2

原因是第一个条件,都没有满足,所有的赋值语句都没有执行

原程序相等于:
#include <stdio.h>

void main()
{
int a=2,b=1,c=2;

if(a<b)
{

if(b<0)
{
c=0;
}
else
{
c++;
}

}

printf("%d\n",c);
}

第一个if的条件为假,所以不执行if下面的语句。而正如楼上所说的那样,else会与最近的if匹配,所以第二个if和下面的else是一对最为第一个if的语句。
所以,c的值不会发生变化。

先c
else与最近的if匹配(没有括号时)
没有运行c++
所以c=2

D

c

  • C语言,下面程序的运行结果是?
    答:函数fun2中,声明了一个静态变量a并赋值1。每次运行该函数a都会加2,并打印a。故会得出以上的运行结果。另外因为此段代码中有字符为中文符号,将无法编译;且因为运行完会自动关闭,故修改为:include <stdio.h>void fun2(){static int a=1; a=a+2; printf("%d\n",a);}int main(){...
  • C语言题目:以下程序的运行结果是?
    答:第1个程序的运行结果是:254 第2个程序的运行结果是:sum=27 第3个程序的运行结果是:11
  • C语言:下面程序段的运行结果是()
    答:1、第一行是声明变量,整型数组x[3]和整型变量ijk 2、第二行和第三行for循环对数组x[]进行初始化,数组元素全都为0 3、第四行给整形变量k赋值2 4、第五行第六行第八行这样看 for(i=0;i<2;i++){//第一层循,当i=0时和i=1可以循环,i=2就不循环了 for(j=0;j<2;j++){//...
  • C语言,以下程序的运行结果是?
    答:define sw(x,y) {x^=y;y^=x;x^=y;} 这个宏的作用就是在不借助第三变量的情况下,交换x和y的值,^是位异或运算符,x^=y相当于x=x^y,具体什么是位异或运算,可以在网上轻意找到相关教材。b=01代表8进制数的1,1在任何进制计数系统中都相等。
  • C语言,下面代码片段的运行结果是 . char a[] = "abcdef"; char b...
    答:下面代码片段的运行结果是 。chara[]="abcdef";charb[]="ABC";memcpy(a,b,strlen(b)*sizeof(b[0]));printf("%s\n",a);strcpy(a,b);printf("%s\n",a);A.ABCABCB.ABCdefABCdefC.AB... 下面代码片段的运行结果是 。char a[] = "abcdef";char b[] = "ABC";memcpy (a, b, strlen (...
  • c菜鸟问题
    答:1.在C语言中,下列代码运行结果是()int a=2;switch(a){ case 1:printf("In case 1 a=%d,a");case 2:printf("In case 2 a=%d,a");case 3:printf("In case 3 a=%d,a");default:printf("In default a=%d,a");} --- switch语句是用来接收a的值检测到a是2即应该执行2然而你没...
  • C语言中.下面程序的运行结果是
    答:这是一个错误的程序,指针p不能改变字符串的内容 如果是printf("%d\n",strlen(p)); 则输出5
  • C语言:以下程序的运行结果是()
    答:宏定义如果没加括号,那么计算方法就会变成 i=4+4*4+4/2=22 并不是(4+4)*(4+4)/2的,这里要把括号完全去掉再计算,宏定义就是这样计算,没为什么
  • C语言程序运行结果是什么
    答:你给的C语言程序有一个错误,*P='\0';P应该小写,应该改成*p='\0';改正后的程序的运行结果是C51 完整的程序和运行过程解析如下 include <stdio.h> void main(){ int a=28,b;char s[10],*p;p=s;do { b=a%16;if(b<10) *p=b+48;else *p=b+55;p++;a=a/5;}while(a>0);p=...
  • C语言 下面程序的运行结果是
    答:小于则执行 如果不成立则返回x,y的值 同理一样 我主要把每次循环的结果给你 按照上面我的说法你自己对对哈 第一次 x=2 y=2 第二次 x=6 y=4 第三次 x=12 y=6 第四次 x=20 y=8 最后x不小于15 所以返回x,y的值 you clear???++y用的是自加后的值 不是原来的值 ...