当前位置: 首页 > news >正文

日照网站建设全55长2023年6月疫情情况

日照网站建设全55长,2023年6月疫情情况,自助建站凡科网,公司网站营销熟悉C语言的童靴对三目运算符都非常熟悉,a? b : c; 如果a为true,则整个运算符的值为b,否则为c;那么问题来了,三目运算符中间的表达式可以省略吗?即a? : c; 1、linux内核中出现的省略情况 本人在阅读内核代码是发现了下面的代码: preferr…

熟悉C语言的童靴对三目运算符都非常熟悉,a? b : c; 如果a为true,则整个运算符的值为b,否则为c;那么问题来了,三目运算符中间的表达式可以省略吗?即a? : c;

1、linux内核中出现的省略情况

本人在阅读内核代码是发现了下面的代码:

    preferred_zoneref = first_zones_zonelist(ac.zonelist, ac.high_zoneidx,
                ac.nodemask ? : &cpuset_current_mems_allowed,&ac.preferred_zone);

其中标红部分是一个三目运算符,而且还是一个省略的三目运算符。那么问题来了,a? : c如果a为true的情况下,整个三目运算符的值到底是什么?

2、动手测试下

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

int bar(char *a,char*b)
{
    if(a != NULL)
        printf("%s \r\n",a);
    else
        printf("a is NULL \r\n");

    if(b != NULL)
        printf("%s \r\n",b);
    else
        printf("b is NULL \r\n");

    return 0;
}

int main(int argc,char *argv[])
{
    char *a = "hello";
    char *b = "world";
    char *c = "how are you?";
    bar(a,b);
    printf("%s \r\n",c?"no NULL":"NULL");
    bar(a,c? : "i am fine");
    return 0;
}

输出结果如下:

hello 
world 
no NULL 
hello 
how are you? 

c? : "i am fine" 的运算结果是"how are you?",即变量c初始化的值。

所以可知,三目运算符(a?b:c)出现省略的情况下(a?:c),省略值就是第一个运算符a的值。

如果将c省略,即a?b: ;测试发现编译会报错。

http://www.hkea.cn/news/780475/

相关文章:

  • 网络营销方式的思维导图seo关键词优化系统
  • wordpress访客ip记录福清市百度seo
  • 网站下载速度慢互联网广告推广公司
  • 电影网站空间配置网络营销的工具和方法有哪些
  • 包装设计网站免费百度seo搜索引擎优化厂家
  • 免费做公司网站sem对seo的影响有哪些
  • 网站空间购买费用关键词优化计划
  • 网站制作可以卖多少钱陕西网站建设制作
  • 深圳中小企业网站制作谷歌海外广告投放
  • 做游戏网站的需求分析创建app平台
  • 青岛胶南做网站的有多少seo商学院
  • 二月网站建设南宁百度个人中心登录
  • 如何在相关网站免费做宣传广告免费建立个人网站官网
  • 做搜狗网站优化首自己建立网站步骤
  • 企业资质查询官方网站最好的小说网站排名
  • 乐平网站设计北京互联网公司
  • 朝阳企业网站建设方案费用郑州网络营销学校
  • 建站行业发展百度广告代运营
  • 如何做积分商城网站鸡西seo顾问
  • p2p网站开发文档免费b站软件下载
  • 有没有做q版头像的网站今天百度数据
  • wordpress页面修改插件seo顾问阿亮
  • 政府门户网站建设标准国际婚恋网站排名
  • 上海青浦网站建设郑州靠谱seo电话
  • 网站建设怎么样seo专家招聘
  • 在网盘上怎么做自己的网站整站优化推广
  • php建设网站实训百度搜索引擎的总结
  • 怎么在360自己做网站重庆seo排名收费
  • 外贸网站建设浩森宇特教育培训报名
  • 网站开发价目表深圳市前十的互联网推广公司