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
题目分析:这个题目主要的考点是三目运算发是从右往左运算。先算c

4)该程序输出结果是:

#include  
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’。

你可能感兴趣的:(C++做题笔记+知识点总结)