- 相關推薦
華為C/C++筆試題系列二
華為筆試題;C;C++;
1.說出下面這個程序的運行結果,并簡要敘述其理由:
char buf1[10]="hello";
char buf2[10]="hello";
if (buf1==buf2)
printf("equal!");
else printf("not equal!");
答:因為buf1,buf2分配了不同的內存塊,而比較的是數組名,實際上是兩個分別指向數組起始元素地址的指針。
2.指出下面這段程序中存在一些什么問題:
int loop,a[5];
int* p=a;
for (loop=0;loop<5;loop++)< p="">
{ p++;
*p=loop;
}
答:數組a[5]在創建時沒有初始化, 在for循環里也沒有起到完全初始化數組的作用,而且對一塊未知內存賦值。在最后一輪循環結束時p指向了數組a[5]的最后一個元素的下一個地址。
string 系列
char * strcpy( char *strDest, const char *strSrc )
{
assert( (strDest != NULL) && (strSrc != NULL) );
char *address = strDest;
while( (*strDest++ = * strSrc++) != ‘\0’ );
return address;
}
char* strncpy(char* strdest, const char* strsrc, int n)
{
assert((strdest != NULL) && (strsrc != NULL));
char* address = strdest;
while(n-- > 0)
*strdest++ = *strsrc++;
return address;
}
int strcmp(const char* str1, const char* str2)
{
assert((str1 != NULL) && (str2 != NULL);
int ret = 0;
while (!(ret = (unsigned char*)*str1 - (unsigned char*)*str2) && (*str2))
{
str1++;
str2++;
}
if (ret > 0)
ret = 1;
else if (ret < 0)
ret = -1;
return ret;
}
int strlen(const char* str)
{
assert(str != NULL);
int len = 0;
while (\ 主站蜘蛛池模板: 欧美在线伊人 | 天天摸日日操 | 欧美一级精品 | 一个人看的www片免费视频中文 | 91精品在线观看视频 | 色天网站 | 日韩伦理一区二区 | 国产免费播放一区二区 | 国产精品日韩精品 | 亚洲一区欧美日韩 | 一级黄色录像免费观看 | 极品精品国产超清自在线观看 | 国产拍拍视频 | 日韩看片| 国产成人99精品免费视频麻豆 | 国产精品1 | 国产亚洲精品精品国产亚洲综合 | 精品欧美一区二区精品久久 | 欧美怡红院免费的视频 | 久9视频这里只有精品 | 日韩成人精品视频 | 欧美日韩亚洲二区在线 | 亚洲美女又黄又爽在线观看 | 欧美日本黄色片 | 欧美一区日韩一区中文字幕页 | 国产成人乱码一区二区三区 | 亚洲成人午夜影院 | 蕾丝视频永久在线入口香蕉 | 亚洲欧美日韩另类在线一 | 91av久久| 欧美人成片免费看视频不卡 | 国产亚洲情侣一区二区无 | 欧美一级视频在线观看欧美 | 黄色影院网站 | 国产免费高清在线精品一区 | 欧美精品午夜 | 五月天激情综合小说专区 | 国产一级aaa全黄毛片 | 欧美日韩aa一级视频 | 中国一级一级全黄 | 日日碰狠狠添天天爽对白 |