标题:“等于符号==”和“赋值符号=”有什么区别?
只看楼主
forice
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2005-8-25
 问题点数:0 回复次数:4 
“等于符号==”和“赋值符号=”有什么区别?
我想问一下C语言中的“等于符号==”和“赋值符号=”有什么区别?
比如说现在有这么一个程序:
main()
{
 int i,j,k,n;
 for(n=100;n<1000;n++)
 {i=n/100;
 j=n/10-i*10;
 k=n%10;
 if(n=i*i*i+j*j*j+k*k*k)
  printf("%d\n",n);
 }
}
我把它改成
main()
{
 int i,j,k,n;
 for(n=100;n<1000;n++)
 {i=n/100;
 j=n/10-i*10;
 k=n%10;
 if(n==i*i*i+j*j*j+k*k*k)
  printf("%d\n",n);
 }
}
结果就不一样,它们两个有什么区别?请教。
搜索更多相关主题的帖子: 赋值 符号 
2005-10-18 15:16
029
Rank: 1
等 级:新手上路
帖 子:71
专家分:0
注 册:2005-8-26
得分:0 
我想问一下C语言中的“等于符号==”和“赋值符号=”有什么区别?
==是判断是否相等 返回0 或1
=就是副值

2005-10-18 15:20
forice
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2005-8-25
得分:0 
哦,好,明白了,谢谢~~~
2005-10-18 15:24
firstlijia
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-10-8
得分:0 
main()
{
int i,j,k,n;
for(n=100;n<1000;n++)
{i=n/100;
j=n/10-i*10;
k=n%10;
if(n=i*i*i+j*j*j+k*k*k)
  printf("%d\n",n);
}
}


我运行了下,结果是:1
                                   8
                                   729
                                    370
                                     371
                                      378
                                     1099
想不明白 ,为什么会是这个结果呢??

2005-10-19 14:23
forice
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2005-8-25
得分:0 
你那个是赋值,不是等号,这个程序if语句中应该要用==
2005-10-19 15:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-30526-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.392155 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved