char * strcpy( char* str1,const char* str2)
這個函式把字串src複製到一分配好的字串空間dst中,複製的時候包括標誌字串結尾的空字元一起複製。操作成功,返回dst,否則返回null.
char
*my_strcpy
(char
* str1,
const
char
* str2)
int strcmp(char *str1, char *str2);
比較字串str1和自str2是否相同。如果相同則返回0;
如果不同,str1的字元大於str2的字元,則返回1,否則返回-1
void
my_strcmp
(char
*str1,
char
*str2)
int t;
t=*str1-
*str2;
if(t==0)
return0;
if(t>0)
return1;
if(t<0)
return-1
;}
char *strstr(char *str1,char *str2);
在字串str1中,尋找字串str2,若找到返回找到的位置,否則返回null。
char
*strstr
(const
char
*str1,
const
char
*str2)
else
}return
null
;}
首先介紹atoi函式的功能:該函式的作用是將引數字串轉換為乙個整數。
(1)如果引數字串以數字開頭,則一直往後讀,直到讀到非數字字元或\0。然後將這些數字以整數形式返回。如:「62562hja」,返回整數62562。「1331」,返回整數1331。
(2)如果引數字串以正負號開頭,則往後讀取,如果緊接著讀到數字,此時與(1)相同。只是在返回整數時要加正負號。如果正負號後面不是數字字元,則返回0。如:「+4245sja」,返回4245。「-463hsda」,返回-463。「-gab」和「+hakjs」返回0。
(3)如果引數字串以空格字元開頭(\n,\r,\t,\f,\v),則跳過空格字元,再按照(1)和(2)進行判斷。如:
「 425jhad」,返回425。
(4)如果不是以上的三種情況,則返回0。如「jajs4676」,「jsab」,均返回0。
int
myatoi
(char arr)
int index =0;
//記錄陣列下標
int num =0;
//存放最終要返回的值
int flag =1;
//設定符號標誌位
while
(arr[index]
==' '
)//是空格返回非零值(不一定是1),否則返回0
if(arr[index]
=='-'
)//注意:正負號不算作1
if(arr[index]
=='-'
|| arr[index]
=='+'
)//如果遇到正負號,說明可以往後繼續走
while
(arr[index]
>=
'0'&& arr[index]
<=
'9')
//如果遇到的數字說明可以繼續往下走
return flag*num;
}
對任意陣列進行排序
#include
intmain()
; b =
sizeof
(a)/
sizeof
(a[0])
;//計算出陣列個數
for(i=
0;i}for
(i=0
;i)printf
("\n");
return0;
}
C語言面試題
基礎篇 1 區域性變數能否和全域性變數重名?可以2 如何引用乙個已經定義過的全域性變數?直接呼叫並初始化 3 全域性變數可不可以定義在可被多個.c檔案包含的標頭檔案中?為什麼?可以,6 堆和棧有什麼區別?7 什麼是預編譯,何時需要預編譯 8 c和c 中的struct有什麼不同?9 memset me...
C語言面試題
1.求某一年的某一天 includestruct sdate int main int i 0,nday dt.nday while i2 nday printf 這是 d年的第 d天 n dt.nyear,dt.nday return 0 將列印和演算法抽象成不同函式 includestruct ...
C語言面試題
1.要求使用一維陣列,輸入10名同學的序號和成績,並進行排序。題目1196 成績排序 題目描述 用一維陣列儲存學號和成績,然後,按成績排序輸出。輸入 輸入第一行包括乙個整數n 1 n 100 代表學生的個數。接下來的n行每行包括兩個整數p和q,分別代表每個學生的學號和成績。輸出 按照學生的成績從小到...