以下程序的输出结果是( )

以下程序的输出结果是( ),第1张

if(a>10 && ok1)         |    a=10,所以 a>10 不成立,BTW,这个地方 if else 之间 什么都没有,                                              至少应该有个分号

else if(ok2)x=10;       |    ok2=0,所以  不成立

else x=-1;               |    最后结果  x = -1

分类: 电脑/网络 >> 程序设计 >> 其他编程语言

问题描述:

假定下面程序的可执行名为fileexe,则在该程序所在的子目录下输入命令行:prg hello good<回车>,程序的输出结果是什么

main(int argc,char argv[])

{

int i;

for(i=1;i<argc;i++)

printf("%c",argv[i]);

}

解析:

结果是:phg 啊!

结果是3

3/2是整除,结果是1

(double)(3/2)强制转成10

(double)(3/2)+05==15      (double)

(int)1992是强制把199转换成int再乘以2 所以就是12==2 (int)

所以

(double)(3/2)+05+(int)1992==2+15==35

再强制转换成int类型赋值给a ,所以a的值是3

我在VC++下试了下,输出为0

需要解释吗?

while((n)--);这句要循环一百来次,直到n=0为止,之后n=-1;

printf("%d",++(n)); 这句呢,因为+号在前,所以打印出来的是n自加1之后的值,即还是0;

所以输出0。完毕

输出结果为:13,其实输出了两个数,1和3,因为程序没有分隔符,看起来就像是一个数了。

理由:主函数中调用fun()函数

参数是3,则判断3/2是大于0,再一次调用fun();

参数是1,1/2=0,此时if不成立,输出之前的x,就是1!!!

此时,不再进行深入的嵌套,而是从嵌套中出来

再出来的过程中,又输出了一次,就是之前的3,就是3!!!

验证程序

#include<stdioh>

void fun(int x)

{

if(x/2>0)fun(x/2);

printf("%d==",x);

}

void main()

{

fun(3);

printf("\n");

}

希望你懂了o(∩_∩)o

#include "stdioh"

main()

{union

{int i[2];

long k;

char c[4];

}s;

s->i[0]=0x35; //这里存的是ASCII,查表看看是萨字符

s->i[1]=0x34;

printf("%lx\n",s->k);//00350034对应的数

printf("%c\n",s->c[0]); //这时对应的最低位,

}

不现机子结果可以不同,不知道你的INT是多少位的啊

输出为8

其实这是一个球最大公约数的函数,用的是欧拉公式

a b两个数的最大公约数为选大的%小的,然后替换

至于你说的步骤,你可以把abc(24,16)代入

开始v=16

while: w=8 u=16 v=8

while: w=0 u=8 v=0 退出循环

返回u=8

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存