C++做题笔记+知识点总结

1)该程序的执行结果是

int i=5,k;
 
k=(++i)+(++i)+(i++)printf("%d,%d",k,i);

题目解析:首先i会自加两次,i = 7,k = 7 + 7 + 7,k的值为21,i最后在加1,i = 8.

2)关于inline函数的一些知识点
1.使用inline关键字的函数不一定在被调用处展开,因为编译器拒绝为函数体过大的函数做为inline函数

3)设int a=1, b=2, c=3, d=4;,则a<b?a:c<d?c:d表达式的值为?
题目分析:这个题目主要的考点是三目运算发是从右往左运算。先算c<d?c:d值为c,在算a<b?a:c,最后的答案为a即1。

4)该程序输出结果是:

#include <iostream> 
using namespace std; 
int main(void) 
{ 
    const int a = 10; 
    int * p = (int *)(&a); 
    *p = 20; 
    cout<<"a = "<<a<<", *p = "<<*p<<endl; 
    return 0; 
}

程序输出:10, 20,该题考点C++常量折叠。

5)该程序输出结果是

char *str1 = "Hello", str2[] = "Hello";printf("%d %d", sizeof(str1), sizeof(str2)); 

这一题有一个陷阱,sizeof(str1)的值应为4,因为他计算的是一个字符串指针的大小,sizeof(str2)的值为6,后面还有一个’\0’。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值