鱼C论坛

 找回密码
 立即注册
查看: 2668|回复: 8

[技术交流] 求解两次打印出来的值怎么不一样?

[复制链接]
发表于 2013-12-8 00:32:45 | 显示全部楼层 |阅读模式
1鱼币
程序1

#include<stdio.h>

int x,s,i,y,i1;                          
  main(){
x=5;
for(y=2;y<x;y=y++)
{
i=x/y;
s=y*i;
printf("%d\t%d\t%d\t%d\t\n",i,y,x,s);
}
}打印出来的是

                               
登录/注册后可看大图

程序2:
#include<stdio.h>

int x,s,i,y,i1;                          
   main()
{
x=5;
for(y=2;y<x;y=y++)
{
i=x/y;
s=y*i;
printf("%d\t%d\t%d\t%d\t\n",i,y,x,s);

if(s=x) printf("%d\t%d\t%d\t%d\t",i,y,x,s);

}
}
打印出来的却是

                               
登录/注册后可看大图





2.png
1.png

最佳答案

查看完整内容

for( y= 2; y
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-8 00:32:46 | 显示全部楼层
for( y= 2; y<x; y= y++ )
我用的C-Free编译器,
这个赋值语句会使整个for 陷入死循环。(i++ 或者 i= i+1 就不会)
y++ 已经等于 y=y+1  了
再有就是y++是先使用Y的值,再进行++操作,

所以,写  y++  或者  y=y+1  皆可。
还有,就是  main  函数  一定是int  类型,且有返回值的。
这样才是标准的C语言语法。

再有就是下面的if ( x=y ) 。。  明显有问题。这里是赋值语句,所以会永远为true,
然后进入if 执行里面的语句。
请认真哦~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-12-8 00:33:50 | 显示全部楼层
求解释,求教育
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-8 08:31:11 | 显示全部楼层
为什么会一样 ??
难道楼主以为 if(s=x) printf("%d\t%d\t%d\t%d\t",i,y,x,s); 是摆设??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-8 09:50:34 | 显示全部楼层
楼主啊,if(s=x)写错了啊!应该是if(s==x)吧!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-8 12:27:13 | 显示全部楼层
y=y++这句貌似有问题!!1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-12-16 13:12:20 | 显示全部楼层

谢谢,刚刚学,想写断找质数的代码,突然很想做出来,原来是自己知道的东西太少了,犯的错误太多,以后一定慢慢学,好好学
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-3-13 12:52:46 | 显示全部楼层
谢谢各位了!这平台真强大
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-3-14 09:58:23 | 显示全部楼层
路过看看= =!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-25 01:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表