C语言程序 运算过程

C语言程序 运算过程,第1张

输出的结果是(□为空格):□□□6□□□8

static定义变量使其只会被定义一次,所以在结束函数后不会被清除大型薯,结果还是保留当前的数据。

for循环调用了两次fun函数,所以输出了两次(%4d的4是让输出的数字至少保留4个空位,不足补空格)

具体运行情况简要说明租旦一下,

程序开始->定义了k,a,为a赋值1->滚者进入for循环(k=0,k<2成立)->先调用fun函数(传值a,int x=a)->静态定义z=3,y=0(使其在fun函数结束时不会被清除数据->y,z自加一,并返回x+y+z的值->跳回main.函数,格式化输出返回值(□□□6)->k自加一->判断k<2,成立->再执行fun函数->z和y被定义了(静态),所以z和y保持上次的值4和1->返回x+y+z的值->返回main函数,格式化输出fun的返回值(□□□8)->k自加一->k<2,不成立->跳出fir循环->结束

结果是0235不是235;

do

while();的用法食先运算后判断,

第一次运算时,k=5;case后的常量值没有与5相等的,模枯所以n=0,运算后k=4;判断k>0&&n<5是成立的,成立执行第二次,

第二次运算时,k=4,case后的常量值有与4相等的,所以,n=2,运算后k=3;判断k>0&&n<5是成立的,成立执行第三次,

第三次运算时,k=3,case后的常量值有与3相等的,所以,n=3,运算后k=2;判断k>0&&n<5是成立的,成立执行第四次,

第四次运算帆明时,k=2,case后的常量值有与2相等的,但是不态码告运算,所以没有n输出,运算后k=1;判断k>0&&n<5是成立的,成立执行第五次,

第五次运算时,k=1,case后的常量值有与1相等的,所以,n=5,运算后k=0;判断k>0&&n<5条件不成立,所以直接跳出循环,运算结束;

希望对你有所帮助,呵呵,加油。

1、先说运算顺序,是从上到下,一句一句的租仔算的。

从4行开始,赋值a1.b6.c3。搜局

计算5行,q=a+b+c=1+6+3=10

计算6行,a++,a=a+1=2

计算7行,++b,b=b+1=7

计算8行,z=a+b+c=2+7+3=12

执行9行,打印zabq分别是12.2.7.10

注意弊漏汪第9行代码有错误,双引号内的

z=……q=……a=……b=……顺序不对

应该是

z=……a=……b=……q=……

2、asc码既能用八进制,也能用十进制表示。

只是在printf语句中,由转义符反斜杠"\"引导的asc码,必须用八进制数字表示。


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

原文地址: http://outofmemory.cn/yw/8202952.html

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

发表评论

登录后才能评论

评论列表(0条)

保存