c编程的经验分享1—一个标点符号引发的血案

来源:互联网 发布:win10重置网络设置 编辑:程序博客网 时间:2024/06/07 12:52

         虽然编程不多,但有一个小小的经验和大家分享,希望大家以此为鉴,祝大家编程快乐,少见八阿哥。首先请大家观察下面两个程序并判断正误。

       以求解两个数的最大公约数的编程为例:

       程序示范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!

0 0
原创粉丝点击