一道很简单的题目

aqiangunicom 2009-04-28 03:11:38
#include〈stdio .h〉
Void fun (int*x,int*y)
﹛printf (“%d%d”,*x,*y);
*x=3,*y=4; ﹜
Void main()
﹛ int x=1,y=2,
Fun( &y,&x)
Printf(“%d%d”,x,y);


运行结果 2143
和读程序,写出运行结果:
Void main()
{
Int x=8; for(x>0;x--);
{if (x%3)
{printf (“%d”,x--);
Continue;}
Printf (“%d”,--x);}
}
运行结果: 8,5,4,2
我实在没有弄懂这两道题
恳请各位高手出手相助,非常感谢!!
...全文
247 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
sushou2009 2009-04-30
  • 打赏
  • 举报
回复
没看懂~~貌似不是C#的
xv8844 2009-04-30
  • 打赏
  • 举报
回复
for(x>0;x--); 括号里是不是少了个分号??
leiziaitudou 2009-04-30
  • 打赏
  • 举报
回复

aqiangunicom 2009-04-29
  • 打赏
  • 举报
回复
小弟不胜感激各位专家老师的讲评。。。。
忽然间茅塞顿开。。。。非常感谢你们!!
实在无以表达我的感谢。。。。
谢谢!!!
谢谢各位前辈!!!
我们的论坛真好!!!
glpizi 2009-04-29
  • 打赏
  • 举报
回复
5楼正解!
我还以为是c#的呢
wangjuan8808 2009-04-28
  • 打赏
  • 举报
回复
3楼和6楼和在一起就是正解
pathuang68 2009-04-28
  • 打赏
  • 举报
回复
5楼正解。
Glory_genius 2009-04-28
  • 打赏
  • 举报
回复
不好意思 x--表示先打印x,然后x再减一;--x表示x先减一再打印
gxzh0817 2009-04-28
  • 打赏
  • 举报
回复
呵呵!这不是C#的啊?
第一个题3楼的可能说的也差不多吧!
而第二个
Void main()
{
Int x=8;
for(x>0;x--);
{
if (x%3)
{
printf (“%d”,x--);
Continue;
}
Printf (“%d”,--x);
}
}
这是一个For循环,当第一次执行时X=8,判断X>0?是! 然后执行IF语句8%3!=0为真,则输出8(注:此时X变成了7),
遇到continue则结束本次循环进行下次循环。执行for语句 X--;此时X==6;然后进行第二次循环。而6%3==0为假执行
Printf (“%d”,--x); 而--X先执行--,再输出X,此时X==5;下次循环和这两次循环差不多你自己应该可以做出来了。
Glory_genius 2009-04-28
  • 打赏
  • 举报
回复
第一题中,Fun( &y,&x) 表示把y的地址传给 fun (int*x,int*y)中的*x形参,把x的地址传给*y形参,fun中有一个
printf (“%d%d”,*x,*y);其中*x=y,*y=x 所以结果是2 1;printf 之后*x=3,*y=4就给y和x(注意)重新赋值了,所以main中
的Printf(“%d%d”,x,y)是输出改编后的x和y,结果是 x=4,y=3

第二题应该是有语法错误,for(x>0;x--);后应该没有“;”,首先x=8,x%3!=0,所以执行if,x--表示x先减一,
再打印x,所以打印8,此时x=7,遇到contine,转到for循环,x--,此时x=6符合x>0;然后(x=6)%3==0,所以不执行if,执行之后的printf,打印--x,--x等价于先打印x,再减一,所以结果为5,此时x=5; 之后转到for,x再减一,(x=4)>0;之后if成立,先打印x=4,然后x=x-1,此时x=3,continue再转到for,x--之后x=2>0;if又成立,再打印x=2,之后x=x-1,此时x=1,continue到for,x--之后x=0,for循环结束

ok啦


Ricercar 2009-04-28
  • 打赏
  • 举报
回复
程序是很简单,但是实在看不出程序的用意,乱七八糟的
qq306850549 2009-04-28
  • 打赏
  • 举报
回复
这好象不是C#的吧...我怎么看着想C++的
这是一个很简单的运算程序
第1个:
首先x=1,y=2
调用fun方法传值(2,1)
所以输出的结果也就是21
在fun这个方法里吧*x,*y的指针地址变了
因为*x*y是指针
所以输出的结果是43

C++我不是太熟悉,不知道说的对不对

下面那个
是X%3取余然后输出
下面那个有点不明白...见谅

Sunshined 2009-04-28
  • 打赏
  • 举报
回复
这题目是C语言的
aqiangunicom 2009-04-28
  • 打赏
  • 举报
回复
请各位高手抽时间帮小弟看看,非常感激。。。。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧