虽然编程不多,但有一个小小的经验和大家分享,希望大家以此为鉴,祝大家编程快乐,少见八阿哥。首先请大家观察下面两个程序并判断正误。
以求解两个数的最大公约数的编程为例:
程序示范1:
/* Note:Your choice is C IDE */
#include <stdio.h>
int main()
{
int a = 13;
int b = 39;
int p;
int r = 1;
if(a > b)
p=b;
else
p=a;
for( ; p>1; p--)
{
if(a%p == 0 && b%p == 0)
{
a=a/p;
b=b/p;
r=r*p;
}
}
printf("%d ", r);
return 0;
}
程序示范2:
/* Note:Your choice is C IDE */
#include <stdio.h>
int main()
{
int a = 13;
int b = 39;
int p;
int r = 1;
if(a > b);
p=b;
else
p=a;
for( ; p>1; p--);
{
if(a%p == 0 && b%p == 0)
{
a=a/p;
b=b/p;
r=r*p;
}
}
printf("%d ", r);
return 0;
}
上面的两个程序,放眼看去并没有什么区别,但是仔细观察会发现,第二个程序的if()后面都多了标点符号“;”,这将会造成第二个程序无法输出正确结果。虽然这个程序没有出现逻辑或者算法的错误,但是出现这种错误总归是不应该的,希望每一个编程人编程细心再细心,避免手误或手滑的状态出现,就我自己修改这个程序,辗转反侧浪费大好时光的惨痛经历告诫大家,避免手滑,直视每个细节,不放过一个标点符号的乱入。谢谢大家!good luck!