c语言中,下面程序的运行结果是

c语言中,下面程序的运行结果是,第1张

你好

1程序的运行结果是:1,-2

2解释每一步的运行过程:

#include <stdioh>

void main()

{

int y, a ;

y=2, a=1;

while (y--!=-1)

{

do{

a=y ;

a++ ;

} while(y--);

}

printf("%d,%d\n",a,y);

}

从y=2,a=1开始哈

(首先我们要知道后自减y--型的返回值是y自减前的值 例如y=2 y--就返回2)

进入while循环

y--返回2 不等于-1 (此时y=1)

于是循环继续进入do while循环

执行a=y;a++后

a=2 y=1

y--返回1 是非零 于是do while循环继续进行 (此时y=0)

执行a=y;a++后

a=1 y=0

y--返回0 于是do while循环终止 (此时y=-1)

再判断while的循环条件: y--返回-1 于是while循环终止 此时y=-2

(讲的比较多 希望楼主能理解了)

输入2时,输出66

输入3时,输出77

输入4时,输出8

输入5时,输出88

输入6时,输出9

输入其他数字或字母时,无输出,键入<ENTER>时,结束程序。

/

23456

66778889

Press any key to continue

/

改下程序 #include <stdioh>

int main()

{

int k=0;

char c='A';

do

{

switch(c++)

{

case 'A': k++; printf("k={%d}\n", k); break;

case 'B': k--; printf("k=[%d]\n", k);

case 'C': k+=2; printf("k={%d}\n", k); break;

case 'D': k=k%2; printf("k=[%d]\n", k);continue;

case 'E': k=k10; printf("k={%d}\n", k); break;

default: k=k/3; printf("k=[%d]\n", k);

}

k++; printf("k=(%d)\t", k);

}while(c<'G');

printf("k=%d\n", k);

}

编译下 看输出

先执行 switch 语句 k++; k=1;

在执行 下面的k++ ; k=2;

然后回到switch k-- ; k=1;

由于没有 break; 忽略了 case 标号 继续 k=3;

执行下面的语句 k++ ; k=4;

在执行 语句 k+=2; k=6;

执行下面的语句 k++; k=7;

执行语句 k%=2; k=1;

由于是 continue; 语句 中断后继续执行

k=10; k=10;

执行下面的语句k++ ; k=11;

执行语句 k/=3; 隐式类型转换 先提升为double k=3666 后又转为int k=3;

执行 k++; k=4;

所以答案为4;

以上就是关于c语言中,下面程序的运行结果是全部的内容,包括:c语言中,下面程序的运行结果是、c语言中,下面程序运行的结果是什么、下面程序的运行结果是什么为什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9378782.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存