成年人在线观看视频免费,国产第2页,人人狠狠综合久久亚洲婷婷,精品伊人久久

C++基礎(chǔ)面試題分享

  1,以下代碼中的兩個(gè)sizeof用法有問題嗎?

  sizeof如用于數(shù)組,只能測(cè)出靜態(tài)數(shù)組的大小,無法檢測(cè)動(dòng)態(tài)分配的或外部數(shù)組大小。注意:數(shù)組名作為函數(shù)參數(shù)時(shí),退化為指針。數(shù)組名作為sizeof()參數(shù)時(shí),數(shù)組名不退化,因?yàn)閟izeof不是函數(shù)。

  請(qǐng)問以下代碼有什么問題

  int main()

  {

  char a;

  char *str = &a;

  strcpy(str,”hello”);

  printf(str);

  return 0;

  }

  沒有為str分配內(nèi)存空間,將會(huì)發(fā)生異常

  問題出在將一個(gè)字符串復(fù)制進(jìn)一個(gè)字符變量指針?biāo)傅刂。雖然可以正確輸出結(jié)果,但因?yàn)樵浇邕M(jìn)行內(nèi)在讀寫而導(dǎo)致程序崩潰。

  Strcpy的在庫函數(shù)string.h中,程序的主要程序在于越辦進(jìn)行內(nèi)存讀寫導(dǎo)致程序崩潰。

  2,const char* s = “AAA”;

  Printf(“%s”,s);

  S[0] = ‘B’;

  Printf(“%s”,s);

  “AAA”是字符串常量,S是指針,指向這個(gè)字符串常量,所以聲明s的時(shí)候就有問題。

  Const char* s =”AAA”,然后又因?yàn)槭浅A,所以?duì)S[0]的賦值操作是不合法的。

  3,Char szstr[10];

  Strcpy(szstr,”0123456789″);

  產(chǎn)生什么結(jié)果?為什么?

  正常輸出,長度不一樣,會(huì)造成非法的OS,覆蓋別的內(nèi)容

  4,交換兩個(gè)變量的值,不使用第三個(gè)變量。即a=3,b=5,交換之后a=5,b=3;

  兩種解法,一種是用算術(shù)算法,一種是用^(異或)

  a = a+b;

  b = a-b;

  a = a-b;

  or

  a = a^b;//只能對(duì)int ,char

  b = a^b;

  a = a^b;

  or

  a ^= b ^=a;

  

本文已影響6827
上一篇:阿里巴巴集團(tuán)面試問題精選 下一篇:Java Web工程師面試筆試題

相關(guān)文章推薦

|||||