全部问题 > 当前问题

大括号问题

#include <stdio.h>

#Include <math.h>

main()

{

  int a[101]={1,1},i;

  for(i=2;i<=sqrt(100);i++)

    if(a[i]==0)

      for(j=i+1;j<=100;j+=i)

      {

        a[j]=1;

      }

  for(i=0;i<=100;i++)

  {

    if(a[i]==0) printf("%5d",i);

  }

  printf("\n");

}

第一个for循环后为什么没有接大括号,最后一个为什么接上了?能不能归纳一下,哪些语句后用大括号,哪些用分号?

 

Fiting 2017-1-28 18:54:41

共 3 个回答

qqq 2017-1-29 17:59:46

一个for循环,如果没有大括号,那么这个for循环只能管到第一个分号为止。分号嘛,每个执行语句后面都要有个分号。

Fiting 2017-1-29 20:37:35

回复 qqq:那这个 for(i=2;i<=sqrt(100);i++)循环后没有大括号,管到哪里呢

qqq 2017-1-31 01:29:40

管到第三个for语句之前。

问题来自: 质数