亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

c面試題庫

時間:2023-04-01 07:15:37 面試問題 我要投稿
  • 相關推薦

c面試題庫

1、實現 strcmp
int StrCmp(const char *str1, const char *str2)
做是做對了,沒有抄搞,比較亂
int StrCmp(const char *str1, const char *str2)
{
assert(str1 && srt2);
while (*str1 && *str2 && *str1 == *str2) {
str1++, str2++;
}
if (*str1 && *str2)
return (*str1-*str2);
elseif (*str1 && *str2==0)
return 1;
elseif (*str1 = = 0 && *str2)
return -1;
else
return 0;
}
int StrCmp(const char *str1, const char *str2)
{
//省略判斷空指針(自己保證)
while(*str1 && *str1++ = = *str2++);
return *str1-*str2;
}
2、實現子串定位
int FindSubStr(const char *MainStr, const char *SubStr)
做是做對了,沒有抄搞,比較亂
int MyStrstr(const char* MainStr, const char* SubStr)
{
const char *p;
const char *q;
const char * u = MainStr;
//assert((MainStr!=NULL)&&( SubStr!=NULL));//用斷言對輸入進行判斷
while(*MainStr) //內部進行遞增
{
p = MainStr;
q = SubStr;
while(*q && *p && *p++ == *q++);
if(!*q )
{
return MainStr - u +1 ;//MainStr 指向當前起始位,u 指向
}
MainStr ++;
}
return -1;
}
3、已知一個單向鏈表的頭,請寫出刪除其某一個結點的算法,要求,先找到此結點,然后刪除。
slnodetype *Delete(slnodetype *Head,int key){}中 if(Head->number==key)
{
Head=Pointer->next;
free(Pointer);
break;
}
Back = Pointer;
Pointer=Pointer->next;
if(Pointer->number==key)
{
Back->next=Pointer->next;
free(Pointer);
break;
}
void delete(Node* p)
{
if(Head = Node)
while(p)
}
4、有1,2,....一直到n的無序數組,求排序算法,并且要求時間復雜度為O(n),空間復雜度O(1),使用交換,而且一次只能交換兩個數.(華為)
#include<iostream.h>
int main()
{
int a[] = {10,6,9,5,2,8,4,7,1,3};
int len = sizeof(a) / sizeof(int);
int temp;
for(int i = 0; i < len; )
{
temp = a[a[i] - 1];
a[a[i] - 1] = a[i];
a[i] = temp;
if ( a[i] == i + 1)
i++;
}
for (int j = 0; j < len; j++)
cout<<a[j]<<",";
return 0;
}
5、寫出程序把一個鏈表中的接點順序倒排
typedef struct linknode
{
int data;
struct linknode *next;
}node;
//將一個鏈表逆置
node *reverse(node *head)
{
node *p,*q,*r;
p=head;
q=p->next;
while(q!=NULL)
{
r=q->next;


q->next=p;
p=q;
q=r;
}
head->next=NULL;
head=p;
return head;
}
6、寫出程序刪除鏈表中的所有接點
void del_all(node *head)
{
node *p;
while(head!=NULL)
{
p=head->next;
free(head);
head=p;
}
cout<<"釋放空間成功!"<<endl;
}
7、兩個字符串,s,t;把 t 字符串插入到 s 字符串中,s 字符串有足夠的空間存放 t 字符串
void insert(char *s, char *t, int i)
{
char *q = t;
char *p =s;
if(q == NULL)return;
while(*p!='\0')
{
p++;
}
while(*q!=0)
{
*p=*q;
p++;
q++;
}
*p = '\0';
}
8、寫一個函數,功能:完成內存之間的拷貝
memcpy source code:
void* memcpy( void *dst, const void *src, unsigned int len )
{
register char *d;
register char *s;
 if (len == 0)
 return dst;
 if (is_overlap(dst, src, len, len))
complain3("memcpy", dst, src, len);
 if ( dst > src ) {
 d = (char *)dst + len - 1;
 s = (char *)src + len - 1;
while ( len >= 4 ) {
*d-- = *s--;
 *d-- = *s--;
 *d-- = *s--;
*d-- = *s--;
len -= 4;
 }
while ( len-- ) {
*d-- = *s--;
 }
 } else if ( dst < src ) {
 d = (char *)dst;
 s = (char *)src;
 while ( len >= 4 ) {
 *d++ = *s++;
 *d++ = *s++;
 *d++ = *s++;
 *d++ = *s++;
 len -= 4;
 }
 while ( len-- ) {
 *d++ = *s++;
 }
 }
 return dst;
 }
9、公司考試這種題目主要考你編寫的代碼是否考慮到各種情況,是否安全(不會溢出)
各種情況包括:
1、參數是指針,檢查指針是否有效
2、檢查復制的源目標和目的地是否為同一個,若為同一個,則直接跳出
3、讀寫權限檢查
4、安全檢查,是否會溢出
memcpy 拷貝一塊內存,內存的大小你告訴它
strcpy 是字符串拷貝,遇到'\0'結束
/* memcpy ─── 拷貝不重疊的內存塊 */
void memcpy(void* pvTo, void* pvFrom, size_t size)
{
void* pbTo = (byte*)pvTo;
void* pbFrom = (byte*)pvFrom;
ASSERT(pvTo != NULL && pvFrom != NULL); //檢查輸入指針的有效性
ASSERT(pbTo>=pbFrom+size || pbFrom>=pbTo+size);//檢查兩個指針指向的內存是否重疊
while(size-->0)
*pbTo++ == *pbFrom++;
return(pvTo);
}

【c面試題庫】相關文章:

面試的通用題庫08-09

C1科目四題庫201605-31

面試題庫11-11

IG-WB-C&C 電話面試11-20

計算機二級c語言題庫及答案03-28

英語面試常問題庫匯總10-26

公選面試題庫11-06

計算機二級C語言題庫2016最新03-29

畢業面試銀行常見問題庫12-11

護士面試筆試題庫11-07

主站蜘蛛池模板: 日日狠狠久久8888偷偷色| 国产97人人超碰cao蜜芽prom| 亚洲群交| 国产女人18毛片水真多1| 成人永久免费A∨一级在线播放| 一本丁香综合久久久久不卡网站| 亚洲国产精品不卡av在线| 人与嘼交av免费| 国内精自视频品线一二区| 一区二区三区在线不卡免费| 亚洲丰满熟女一区二区蜜桃| 亚洲日韩成人无码| 国产成人精品97| 色综合久久无码网| 精品国产yw在线观看| 亚洲中文字幕国产综合| 亚洲AV永久久久久久久浪潮| 人人爽久久涩噜噜噜丁香| 99久久无码私人网站| 国产成人亚洲精品蜜芽影院| 中文精品一卡2卡3卡4卡| 狠狠躁天天躁中文字幕| a级毛片视频免费观看| 午夜福利电影| 免费人成激情视频在线观看| 毛片一区二区在线看| 国产极品AV嫩模| 欧美老妇牲交videos| 中文字幕人妻高清乱码| 欧美精品在线看| 亚洲国产精品毛片av不卡在线| 国产精品爱久久久久久久| 亚洲高清免费在线观看| 五月综合网亚洲乱妇久久| 377p日本欧洲亚洲大胆张筱雨 | 国产精品国产对白熟妇| 国产精品无码一二区免费| 337p日本大胆欧久久| 亚洲va久久久噜噜噜久久男同| 欧美高清在线精品一区| 邵武市|