gpt4 book ai didi

c - 为什么for循环后没有大括号

转载 作者:行者123 更新时间:2023-12-01 23:58:03 24 4
gpt4 key购买 nike

我是初学者,请问为什么程序中for循环后没有大括号{ }。我已经对这个问题发表了评论。

void main()
{
int a[50],n,count_neg=0,count_pos=0,I;

printf("Enter the size of the array\n");

scanf("%d",&n);

printf("Enter the elements of the array\n");

for (I=0;I < n;I++) /* i dont understand why no {} occuerred after this for loop please explain*/
scanf("%d",&a[I]);

for(I=0;I < n;I++)
{
if(a[I] < 0)
count_neg++;
else
count_pos++;
}

printf("There are %d negative numbers in the array\n",count_neg);
printf("There are %d positive numbers in the array\n",count_pos);
}

最佳答案

允许单行不加括号。但是,我强烈建议不要这样做。这是 a famous bug这可能是不使用括号的结果。

例如,如果你写

if(test)
foo();

然后需要第二次函数调用你可能会写错

if(test)
foo();
bar();

不是您想要的。

如果你从一开始就用括号写

if(test) {
foo();
}

你没有那个问题:

if(test) {
foo();
bar();
}

关于c - 为什么for循环后没有大括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22710252/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com