c語言部分題目解析1
、有以下程式
#include int main ()
答案:223
解析:|| 全假為假,有真即真 ,i++ == 1, 先取i與1比較,再自增,成立且+1為2,||後面不再計算2、
char a[7] = 「a0\0a0\0」;則
sizeof (a) = 7; 陣列位元組數1 * 7 = 7
strlen (a) = 2; 計算有效長度,即第乙個\0為止,且不計算\0
3、
#includevoid f(int *x, int *y)
int main ()
,i, *p, *q;
p= a;
q= &a[7];
while(p < q)
for(i = 0; i < 8; i++)
printf("%d",a[i]);
return 0;
}
答案:12345678
4、
#includeint fun(int a)
int main()
答案:09110211
解析:static int c = 2,靜態變數,在記憶體的靜態儲存區,只初始化一次以後再次使用將使用上一次的值。i = 0, a = 5, b = 1, c = 3; i= 1,a = 5, b = 1, c = 4; i = 2, a = 5,b= 1, c = 5
5、
#include#include //free()
#include //strlen()
int main()
*(d + len + 1) = '\0'; //倒序賦值結束之後,*d後面加'\0',*d ='\0';
printf("%s,%ld\n",dest,sizeof(strlen(src)));
free(dest); //釋放開闢的堆空間
return 0;
}
6、
#includevoid main()
a = 3;
}printf("%d\n",b);
}
答案:4
解析:b = 1, a = 1,進入迴圈,a += 5, a變成6,continue 結束本次迴圈進行下一次迴圈; b = 2, a = 6, 第二次迴圈,a = 3,a變成3; b = 3, a = 3, 第三次迴圈,a +=5 , a變成 8; b = 4, a = 8 , 第四次迴圈,break,跳出迴圈
7、程式設計實現,刪除字串
s中值為
c的字串
void delchar(char s , char c)
}}
8、該程式有什麼問題?
#include #include void getmemory(char **p, int num)
int main()
printf("str3 is %s \n",str);
}
9、該程式有什麼問題?
#include int main()
10、
#include int main()
; int *p = (int *)(&a + 1);
printf ("%p\n",a);
printf ("%p\n",&a);
printf ("%p\n",&a[0]);
printf ("%p\n",a+1);
printf ("%p\n",&a[1]);
printf ("%p\n",&a+1);
printf ("%p\n",p);
printf ("%p\n",&a[5]);
printf ("%p\n",&a[4]);
printf ("%p\n",p-1);
printf("%d, %d\n",*(a + 1),*(p - 1));
}
答案:2, 5
解析:
0x7fff5fbff8c0 a的位址,即a[0]的位址
0x7fff5fbff8c0 &a
0x7fff5fbff8c0 a[0]的位址
0x7fff5fbff8c4 a[1]的位址
0x7fff5fbff8d4 p的位址
0x7fff5fbff8d4 a[5]的位址
0x7fff5fbff8d0 a[4]的位址
0x7fff5fbff8d0 p-1的位址
2, 5
11、
#include intmain()
朗訊筆試題目 C語言部分 zz
標 題 朗訊筆試題目 c語言部分 跳出main 函式後還能不能執行其他 不使用第三個變數,將兩個變數a,b得值互換 不准用函式 如何判斷乙個檔案是由c編譯環境還是c 編譯環境編譯完成的?不用任何條件語句求兩個整形數的最大值?不准用函式 struct student 所佔空間多大?下面是一些解法,又可...
NOIP2015初賽部分題目解析
對我這輩子都ak不了初賽md。在洛谷上做的,又被坑了若干分。選擇題自己想錯了,結果完形填空又tm把變數名打錯了。14.對圖 g 中各個結點分別指定一種顏色,使相鄰結點顏色不同,則稱為圖 g 的乙個正常 著色。正常著色圖 g 所必需的最少顏色數,稱為 g 的色數。那麼下圖的色數是 a.3 b.4 c....
陣列概念和題目分析 C語言部分 z
1.陣列的賦值有幾種型別 注意 裡的是逗號,1.全部賦值,int a 5 或者int a 這個給全部元素賦值可以不給出陣列的長度 2.部分賦值,int a 5 這個意思是前面三個元素是1.2.3,後面兩個自動賦0 所以給整體賦0的方法就是 int a 10 特殊的幾點 1.給全部元素賦0,有int ...