加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C中使用的括号及其用途

发布时间:2020-12-16 10:07:28 所属栏目:百科 来源:网络整理
导读:我很抱歉,如果以前曾经问过,但我是C的初学者,我想知道是否有人可以帮助解释下面代码中的()括号的使用,我从在线教程中获取它并运行它很好,但有一部分我不明白. #include stdio.h#include stdlib.hint main(){ int age; printf("Please enter the age"); scanf
我很抱歉,如果以前曾经问过,但我是C的初学者,我想知道是否有人可以帮助解释下面代码中的()括号的使用,我从在线教程中获取它并运行它很好,但有一部分我不明白.

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int age;
    printf("Please enter the age");
    scanf("%d",&age);
    if (age > 18 /*condition */ ) {
        printf("You may enter the club");
        if (age < 21)
       {
        printf("The age is greater than 18 but less than 21");

????????其他
????????????(printf(“年龄大于18岁且大于21岁”));

} else if (age == 18)
{
    printf("The age is equal to 18");
}
else {
    printf("The age is not greater than 18");
    }

return 0;
}

根据我收集的内容,圆括号用于包含if语句的条件,大括号用于表示遵循该条件的操作.除了以粗体显示的嵌套else条件外,else语句后跟一个包含print命令的圆括号.

任何人都可以解释为什么会这样吗?

解决方法

圆括号()(以及大括号{})可能出现在几个不同的上下文中,服务于不同的角色.

如果需要将多个语句组合成一个复合语句以作为if的true或false分支,则大多数情况下需要使用if中的curly括号.例如,在你的情况下,if(age< 21)的每个分支只是一个语句,这意味着它的分支中的大括号不是必需的.如果是,你可以写出来

if (age < 21)
  printf("The age is greater than 18 but less than 21");
else
  printf("The age is greater than 18 and greater than 21");

同时if(age> 18)的真分支包含多个语句,这就是为什么你需要大括号的原因.

同时,环绕if条件的圆括号只是if语句的一个语法元素 – 语法需要一对圆括号如果条件,就像它需要圆括号一样,同时,函数调用和其他语法结构.

但是圆括号也可以用于完全不同的角色:在表达式中,其主要目的是将运算符与其操作数分组,如(2 2)*(5 – 3).但是,在表达式中,您可以自由使用冗余括号,例如你可以写(((2)))(3)而不是2 3.或者你可以在整个表达式周围添加多余的括号,例如(((2 3)))而不是(2 3)等等.

这正是您在示例中观察到的内容.您的

printf("The age is greater than 18 and greater than 21");

只是一个表达式语句,即由单个表达式组成的语句.该表达式是对printf的调用.如果您愿意,可以将该呼叫附加到任意数量的冗余圆括号中

(((printf("The age is greater than 18 and greater than 21"))));

没有改变它的含义.

这两个因素的结合:你不需要围绕那个printf的事实,以及你可以根据需要在printf周围放置尽可能多的()这一事实会产生一种错觉,如果是printf的话一对{}以某种方式被一对()取代.实际上,这是两个完全不相关的行为.

无论如何,它只是一种语法上的好奇,而不是具有任何实际价值的东西.如何在教程的代码中发生 – 任何人的猜测.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读