中文一二三区_九九在线中文字幕无码_国产一二区av_38激情网_欧美一区=区三区_亚洲高清免费观看在线视频

首頁 > 個(gè)人簡歷 > 簡歷資料 > 面試試題 > c語言面試找錯(cuò)題

c語言面試找錯(cuò)題

發(fā)布時(shí)間:2019-05-02

c語言面試找錯(cuò)題

  1、 c 語言同意一些令人震驚的結(jié)構(gòu),下面的結(jié)構(gòu)是合法的嗎,如果是它做些什么?

  int a = 5, b = 7, c;

  c = a+++b;

  這個(gè)問題將做為這個(gè)測驗(yàn)的一個(gè)愉快的結(jié)尾。不管你相不相信,上面的例子是完全合乎語法的。問題是編譯器如何處理它?水平不高的編譯作者實(shí)際上會(huì)爭論這個(gè)問題,根據(jù)最處理原則,編譯器應(yīng)當(dāng)能處理盡可能所有合法的用法。因此,上面的代碼被處理成:

  c = a++ + b;

  因此, 這段代碼持行后 a = 6, b = 7, c = 12。

  如果你知道答案,或猜出正確答案,做得好。如果你不知道答案,我也不把這個(gè)當(dāng)作問題。

  我發(fā)現(xiàn)這個(gè)問題的最大好處是這是一個(gè)關(guān)于代碼編寫風(fēng)格,代碼的可讀性,代碼的可修改性的好的話題。

  2、下面的代碼輸出是什么,為什么?

  void foo(void)

  {

  unsigned int a = 6;

  int b = -20;

  (a+b > 6) ? puts("> 6") : puts("<= 6");

  }

  這個(gè)問題測試你是否懂得 c 語言中的整數(shù)自動(dòng)轉(zhuǎn)換原則,我發(fā)現(xiàn)有些開發(fā)者懂得極少這些東西。不管如何,這無符號整型問題的答案是輸出是 ">6"。原因是當(dāng)表達(dá)式中存在有符號類型和無符號類型時(shí)所有的操作數(shù)都自動(dòng)轉(zhuǎn)換為無符號類型。因此-20 變成了一個(gè)非常大的正整數(shù),所以該表達(dá)式計(jì)算出的結(jié)果大于 6。這一點(diǎn)對于應(yīng)當(dāng)頻繁用到無符號數(shù)據(jù)類型的嵌入式系統(tǒng)來說是豐常重要的。如果你答錯(cuò)了這個(gè)問題,你也就到了得不到這份工作的邊緣。

  3、請找出下面代碼中的所以錯(cuò)誤

  說明:以下代碼是把一個(gè)字符串倒序,如“abcd”倒序后變?yōu)?ldquo;dcba”

  1、#include"string.h"

  2、main()

  3、{

  4、 char*src="hello,world";

  5、 char* dest=null;

  6、 int len=strlen(src);

  7、 dest=(char*)malloc(len);

  8、 char* d=dest;

  9、 char* s=src[len];

  10、 while(len--!=0)

  11、 d++=s--;

  12、 printf("%s",dest);

  13、 return 0;

  14、}

  答:

  方法 1:

  int main(){

  char* src = "hello,world";

  int len = strlen(src);

  char* dest = (char*)malloc(len+1);//要為\0 分配一個(gè)空間

  char* d = dest;

  char* s = &src[len-1];//指向最后一個(gè)字符

  while( len-- != 0 )

  *d++=*s--;

  *d = 0;//尾部要加\0

  printf("%s\n",dest);

  free(dest);// 使用完,應(yīng)當(dāng)釋放空間,以免造成內(nèi)存匯泄露

  return 0;

  }

  方法 2:

  #include

  #include

  main()

  {

  char str[]="hello,world";

  int len=strlen(str);

  char t;

  for(int i=0; i

  {

  t=str[i];

  str[i]=str[len-i-1]; str[len-i-1]=t;

  }

  printf("%s",str);

  return 0;

  }

  4、請問下面程序有什么錯(cuò)誤?

  int a[60][250][1000],i,j,k;

  for(k=0;k<=1000;k++)

  for(j=0;j<250;j++)

  for(i=0;i<60;i++)

  a[i][j][k]=0;

  答案:把循環(huán)語句內(nèi)外換一下

主站蜘蛛池模板: 中文字幕久久久人伦 | 国产精品久久久久7777婷婷 | 997xx.亚洲第一区 | 国产三级精品三级在线专区1 | 一区二区激情 | 男人用嘴舔女人下身免费视频 | 国内成人精品 | 九色自拍 | www.干 | 一本久道在线 | 91免费资源| 狂野欧美性猛交xxxxx视频 | 婷婷六月久久综合丁香 | 色视频在线免费观看 | 办公室少妇激情呻吟a片在线观看 | 国产美女久久 | AV中文字幕潮喷人妻系列 | 国产无遮挡又黄又爽奶头 | 朝鲜女人大白屁股ass | 中文字幕一级毛片视频 | 国产视频p | 久久特黄 | 欧美国产日韩在线三区 | 5x社区sq未满十八视频在线 | 天天综合网页在线观看 | 粉色视频在线免费观看 | 欧美九九九| 亚洲kkkk4444在线播放 | 久久久久免费 | 无码喷水一区二区浪潮av | 日韩在线精品一区 | 中年好声音3粤语免费观看 色综合久久久无码中文字幕波多 | www.youjizz.com在线观看 | 综合久久久 | 国产成人精品无码一区二区蜜柚 | 一区二区三区精品 | 成人欧美一区二区 | 亚洲一区二区精品蜜桃 | 超碰在线98| 桃色视频在线播放 | 中国少妇内射XXXHD免费 |