牛客网c++/c几道易忘题目

1、int a = 0,b = 0;
do{
–c;
a = a - 1;
}
while(a > 0);

c的结果应该是-1;因为要先判断是有符号数还是无符号数,声明为int表示有符号数为,循环体执行一次,c = -1,如果c是无符号数,则相减会变为一个很大的数,因为无符号数的小数 - 无符号数的大数=小数+大数的补码。

总结:一般在这种相减且判断循环次数时,一定要留意数据类型

2、*++this; //指针解引用操作符优先级大于但目运算符++,故不用加括号,先取值,然后对值++

3、在公有继承中,父类中只有公有成员对子类对象是可见的 (这是正确的)。如下图:
在这里插入图片描述
因为protected被继承,在子类内是可见的,但对于子类对象是不可见的

4、关于字符串中的转移字符: printf(“a\bre’hi’y\\bou\n”)

上面printf中包含的转移字符一共有6个,其中‘\b’是退格符,输出时将光标往左边回退一个位置,‘’’为单引号,‘\’为\字符,‘\n’为回车换行符。

所以结果应该为 re’hi’you

5、不能统计一行输入字符个数的是:
n=0;
for(ch=getchar();ch!=’\n’;n++);

因为对于for循环,其初始条件只执行一次,因此ch只从输入流取一个字符,之后就再不会取字符,因此会造成死循环。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值