问答详情
源自:4-14 结束语句之break语句

请问在if语句后加分号与不加的运行区别是什么

#include <stdio.h>
int main()
{
    int m, n;
    for(m=2; m<=50; m++)
        {		
        for(n=2; n<m; n++)       
         {            
         if(    m%n == 0    );       //什么条件下跳出当前循环           
          break;                //这里应该退出当前循环了		
          }	        
          if(m == n)   //n循环结束后,如果m=n的话就输出m           
          printf("%d  ", m); 
          }	
          return 0; 
}

这个代码运行出来的结果就是2

提问者:慕的地8462485 2019-02-25 11:12

个回答

  • 慕的地21332321
    2019-07-21 17:39:22

    当一个程序运行完时(单个小程序),加分号;

    当它是个大程序时,不加分号,如:

    if

    for

    else

    else if

    明白请采纳(*´゚∀゚`)ノ 

  • 慕村2353190
    2019-02-25 16:28:14

    形如

    if(条件)

    语句1;

    的代码,当if(条件)后面加了分号之后,将成为

    if(条件);

    语句1;

    这样,当条件表达式为真或不为真,都会执行语句1,且为真时,执行的是空语句,即分号前的语句,相当于:

    if( 条件)  空语句;
    语句1;

    在你的代码中第九行,if后面加了分号,意味着不管m%n==0是否为真,都会直接执行break语句跳出循环。