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

本文通过两个求最大公约数的C语言程序实例对比,强调了编程中注意标点符号的重要性。一个小小的分号可能导致程序运行结果完全不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值