关于C语言if语句中花括号{}的使用区别?请指点一下

(1)加花括号的程序#include<stdio.h>voidmain(){doubleunit_price=5.0;longquantity=0L;doubledisc... (1)加花括号的程序
#include <stdio.h>

void main()
{
double unit_price = 5.0;
long quantity = 0L;
double discount = 0.0;

printf("\nEnter the number that you want to buy:");
scanf("%ld",&quantity);

if(quantity > 30 && quantity < 50)
{
discount = 0.1;

printf("\nThe price for %ld is $%.2lf.",quantity,unit_price* quantity *(1.0 - discount));
}

if(quantity > 50)
{
discount = 0.15;

printf("\nThe price for %ld is $%.2lf.",quantity,unit_price * quantity *(1.0 - discount));
}

if(quantity > 0 && quantity < 30)
{
discount = 0.0;

printf("\nThe price for %ld is $%.2lf.",quantity,unit_price * quantity *(1.0 - discount));
}
getch();

}

(2)不加花括号的程序
#include <stdio.h>

void main()
{
double unit_price = 5.0;
long quantity = 0L;
double total_price = 0.0;
double discount1 = 0.1;
double discount2 = 0.15;
double discount3 = 0.0;

printf("\nEnter the number that you want to buy:");
scanf("%ld",&quantity);

if(quantity > 30 && quantity < 50)
printf("\nThe price for %ld is $%.2lf.",quantity,unit_price * quantity *(1.0 - discount1));

if(quantity > 50)
printf("\nThe price for %ld is $%.2lf.",quantity,unit_price * quantity *(1.0 - discount2));

if(quantity > 0 && quantity < 30)
printf("\nThe price for %ld is $%.2lf.",quantity,unit_price * quantity *(1.0 - discount3));
getch();

}

我想问一下这俩个程序都是一样的结果 为什么第1个程序IF语句中要加花括号而第2个程序IF语句中就不用加花括号呢?区别在哪?
展开
 我来答
图门雁戴燕
2019-01-05 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:31%
帮助的人:939万
展开全部
if条件下要执行多个语句(使用了;就算一句)就要加括号括起,只执行一句就不用加
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qqlxinye
2008-08-19 · TA获得超过1980个赞
知道大有可为答主
回答量:2257
采纳率:65%
帮助的人:531万
展开全部
你没看清楚呀,呵呵,下面的if只有一个分号;其它的是,说明只有一句

上面的if,有好多分号;说明有好几句,{里面代表的是一个整体,如果只有一个分号,要不要这个花括号都一样的,}
如果一成的将{}去了,其它的不变,结果就不一样了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yeahrahxephon
2008-08-19 · TA获得超过1166个赞
知道小有建树答主
回答量:1192
采纳率:0%
帮助的人:1235万
展开全部
因为下边的程序if后面只有打印这一句,上边的程序还有一个赋值,下边的你加上括号也没问题
if语句默认是约束离它最近的语句,要是很多句,就用{}
呵呵
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangsichao
2008-08-19 · 超过11用户采纳过TA的回答
知道答主
回答量:59
采纳率:0%
帮助的人:42.8万
展开全部
呵呵~因为if默认的是循序第一句的语句,如果是两句或以上就要用大括号啦~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wolfccb
2008-08-19 · TA获得超过658个赞
知道小有建树答主
回答量:231
采纳率:0%
帮助的人:348万
展开全部
简单地说,用花括号括起来的代码块是一个整体,在运行的时候就像一条语句一样执行下来。

if执行的时候会执行到它后面的第一个分号为止,也就是说,它只执行一条语句,除非你用花括号把后面的一串语句括起来变成一条语句。

以上。
喜欢简单的老狼
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式