牛客网错题总结(C)

这篇博客探讨了条件运算符的优先级和使用规则,并解释了如何创建子进程。通过多个fork()调用,程序可以生成多个进程,每个进程执行相同的代码但输出独立的hello。此外,还讨论了不同格式的整数输出以及scanf()函数的限制。在C语言中,柔性数组允许在结构体末尾定义可变大小的数组,不占用结构体空间。博客还涉及了无符号整数溢出的情况以及构造函数和析构函数的特性。
摘要由CSDN通过智能技术生成

1. 条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。因此 max=(a>b)?a:b可以去掉括号而写为 max=a>b?a:b
2. 条件运算符?和:是一对运算符,不能分开单独使用。
3. 条件运算符的结合方向是自右至左。

解:三条创建子进程的语句,第一句fork()之后,就存在两个进程了,

两个进程继续往下执行,同理 第二个fork()之后,就存在2*2=4个进程了,

再继续往下,到第三个fork()之后,程序当中就已经存在2*4=8个进程了,每个进程输出一句hello

%d整型输出,%ld长整型输出,

%o以八进制数形式输出整数,

%x以十六进制数形式输出整数,

%u以十进制数输出unsigned型数据(无符号数)。

%c用来输出一个字符,

%s用来输出一个字符串,

%f用来输出实数,以小数形式输出,

%e以指数形式输出实数,

%g根据大小自动选f格式或e格式,且不输出无意义的零。

其中%o和%x都是二进制的延伸,即八进制和十六进制,可以适用于unsigned变量输出

scanf()不允许指定精度,而控制符%6.2f违反了这个规定

柔性数组:

把单一元素的数组放在一个struct的尾端,使得每个struct对象可以拥有可变大小的数组

开始题目中的char data[0] 或写成char data[],即为柔性数组;

data不占用struct的空间,只是作为一个符号地址存在。 因此sizeof的值是两个指针所占字节,即4+4 = 8字节。

unsigned char 8位数据位,范围0-255
所以-2(11111110)时,溢出变成254;
同理-1(11111111)时,溢出变成255;
最后减到0时,不满足循环条件,for停止。
刚好173次。
7 4 1 ==> 共(7-1)/3+1=3次(1-3=-2,即254,继续循环
254 251 ... 5 2 ==> 共(254-2)/3+1=85次(2-3=-1,即255,继续循环
255 252 ... 6 3 ==> 共(255-5)/3+1=85次(3-3=0,退出循环
所以总共173次。

构造函数和析构函数是两个非常特殊的函数:它们没有返回值.这与返回值为void的函数显然不同.后者虽然也不返回任何值,但还可以让它做点别的事情,而构造函数和析构函数则不允许.

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值