编程札记

来源:互联网 发布:js是什么文件可以执行 编辑:程序博客网 时间:2024/06/05 00:35
/*这是一个计算某个数(100到999)是否为水仙花数的小程序*/
#include<stdio.h>
void main()
{
 int i,j,k,m;
 printf("input data:\n");  
 scanf("%d",&m);   /*输入一个3位数*/                                  
 i=m/100;
 j=(m-100*i)/10;
 k=m-100*i-10*j; if(m==i*i*i + j*j*j + k*k*k)
 {
  printf("%d是水仙花数\n",m);  /*是水仙花数时输出*/
 }
 else if(m!=i*i*i + j*j*j + k*k*k)
 {
  printf("This is a error!!\n");
 }
}
编程体会:
经过编写这个程序,我想起在if中“=”与“==”中的区别,在此做一番经验总结。
"="与“==”勿混淆,“=”是复制运算符,“==”才是等于号,在执行IF语句时,输入的a=1与a==1不同,a=1意为将a赋值为1,判断时必然为真,必然会执行语句,容易出现不经意的疏忽。
经个人经验总结,在平时编写时可将IF语句中的a==1改为1==a,这样如果是等于号仍可正常运行大笑,如果是赋值号便会报错,因为在C语言中不能将字符复制为数字,例如“1=a”便会报错,程序员便可检查出错误,而在上一种情况下程序却可以正常运行,,但与我们所希望的结果不同,因为if中语句始终为真,即出现了逻辑上的错误。
推荐书籍<<C的缺陷与陷阱>>,可以帮助程序员纠正平时会犯的小错误,即使有编程经验的老手也会得到帮助。
0 0
原创粉丝点击