1
求解
char str[100] = "hello world";
sizeof(str) = ?;
strlen(str) = ?
char str1[100] = "hello\0world";
strlen(str1) = ?
考點:sizeof函式和
strlen
函式。sizeof
函式求str
字串在記憶體中所佔的記憶體空間,而
str定義的時候在記憶體中申請了
100個位元組的空間,故
sizeof(str) = 100
;strlen
函式求字串的實際長度
,字串中到第乙個
'\0'
的長度,故
strlen(str) = 11(
不含'\0')
,strlen(str1) = 5。
注意:strlen
函式求得的字串長度不包含
'\0'。
strlen函式求得的長度是從字串開始到第乙個
'\0'
的長度
2 求解
char str = "hello";
sizeof(str) = ?;
strlen(str) = ?;
考點:字串。
以為字串以'\0'
結尾,會在記憶體中多分配乙個位元組儲存
'\0'
,而陣列沒指出大小,編譯器會根據後面的"h、
e、l、
l、o、
\0"判斷
中的值,則
sizeof(str) = 6
;strlen
求得的長度不包括
'\0'
,則strlen(str) = 5。
3 求解
void *p0;
int *p1;
char *p2;
long *p3;
float *p4;
double *p5;
sizeof(p0) = ?;
sizeof(p1) = ?;
sizeof(p2) = ?;
sizeof(p3) = ?;
sizeof(p4) = ?;
sizeof(p5) = ?;
考點:指標長度。
因為任何型別的指標在記憶體中都佔4
個位元組,所以
sizeof(p0)
、sizeof(p1)
、sizeof(p2)
、sizeof(p3)
、sizeof(p4)
、sizeof(p5)
都等於4。
4 求解
char *str = "hello";
sizeof(str) = ?;
strlen(str) = ?;
str在記憶體中佔?個位元組
考點:指標、字串。
str是指標,則
sizeof(str) = 4
;str
指向的字元長度為5,則
strlen(str) = 5
;字串以
'\0'
結尾,故
str在記憶體中實際儲存為"h、
e、l、
l、o、
\0",則
str在記憶體中佔
6個位元組。
5 找錯
void test1()
考點:陣列越界。
str1佔
11個位元組(字串以
'\0'
結尾),而
str陣列只有
10個位元組的記憶體空間。
str陣列不能存放下
str1
字串,會造成陣列越界。
6 找錯
char s1[10] = "hello";
char s2[20];
s2 = s1;
考點:陣列賦值。
因為s2
是乙個字元陣列,不能用另乙個字元陣列以等號直接賦值,應該使用
strcmp
賦值,即
strcpy(s2,s1)。
7 求解
string str;
cin >> str; (輸入hello world)
cout << str << endl;
考點:string
的cin
機制。
(1)、讀取並忽略開頭所有的空白字元
(如空格、換行符、製表符等);
(2)、讀取字元直至再次遇到空白字元,讀取終止。 則
str用
cout
輸出的是
hello。
8 求解
void test(char str[100])
考點:指標。
在函式test(char str[100])
中,str
作為形參,在函式體內,陣列名將失去其本身的內涵,僅僅是乙個指標。同時
str在函式體內,也失去了其常量特性,可以做自增、自減、可以被修改。因為
str僅僅只是乙個指標,則
sizeof(str) = 4。
9 求解
寫出布林變數與零值比較的表示式
考點:布林變數。
假設布林變數名字為flag
,它與零值比較的標準
if語句如下:
if(flag) //表示flag為真
if(!flag) //表示flag為假
10 求解
寫出const
的兩個用途
考點:const
(1) 可以定義
const常量
(2)
const
可以修飾函式的引數、返回值,甚至函式的定義體。被
const
修飾的東西都受到強制保護,可以預防意外的變動,能提高程式的健壯性
C C 面試題常考點(一)
1 求解char str 100 hello world sizeof str strlen str char str1 100 hello 0world strlen str1 考點 sizeof函式和 strlen 函式。sizeof 函式求str 字串在記憶體中所佔的記憶體空間,而 str定義...
C 常考面試題
1.string類的實現 string string const char str else string string const string str string string operator const string str delete m data m data new char st...
Redis常考面試題
select命令切換資料庫 select 1 dbsize檢視當前資料庫的key的數量 dbsize flushdb清空當前庫,flushall清空全部庫 1.對鍵的操作 檢視所有的key keys 判斷某個key是否存在 exists key的名字 檢視key的型別 type key 從某個庫中刪...