C语言基础面试题(一)
const关键字的作用
1.使其具有不可改变的性质,增加代码可读性。
2.const修饰普通变量
//以下两个是一个意思 const int a = 10; //定义常量a 不可修改 int const b = 10;
3.const修饰指针
// 指针指向的内容不可更改,但是指针的指向可以更改 char c = 'A'; char const *ch = &c; const char *ch = &c; char d = 'B'; ch = &d; //可以修改 *ch = 'B'; //指针指向不可更改 内容可改 int x = 15; int* const a = &x; *a = 16; //*a=16 x=16 //指针指向的内容不可修改 指向也不可以 const int* const y = &x;
优先级问题
int x = 1 << 2 / 2; //先是除再是左移 int a; a = (5,6,7); //a=7 // a = 5,6,7 //a=5 逗号优先级最低 a直接赋值5 int nums[6] = {11,2,3,4,5,6}; int *b = nums; printf("x=%d a=%d\n", x, a); //x=2 a=7 int c = ++*b; // *(b++) == *b++ printf("c=%d *b=%d\n", c, *b); //c=12 *b=12
unsigned
以下代码是什么样的?
#include <stdio.h> int main(int argc, char *argv[]) { unsigned int i; for(i=9; i>=0; i--){ printf("%d\n", i); # 输出未知参数 以为它是正数,根本停不下来 } return 0; }
如果i>0,那么它就是正常输出, 9 8 7 6 5 4 3 2 1。
#C##面试题目#