1.已知陣列M[15][12],每個元素4bytes。M[5][5]位址=13244868,行為主儲存模式,
則M結束位置為...
我是算13244868+((11-5)*15+(14-5))*4=13245264
可是書本上說還要加3 所以不清楚加3的原因為何
2.#include <stdio.h>
#include <stdlib.h>
#include <string.h>
union grade{
char course[5];
int score;
}Bob;
void printBob(void){
printf("Bob科目=%s\n",Bob.course);
printf("Bob成績=%d\n",Bob.score);
}
int main(void){
Bob.score=98;
strcpy(Bob.course,"數學");
printBob();
strcpy(Bob.course,"數學");
Bob.score=98;
printBob();
system("PAUSE"); return 0;
}
output是Bob科目=數學
Bob成績=-943798596
Bob科目=b
Bob成績=98
那個-943798596和b是怎麼形成的不太清楚
還請會的大大賜教
--
則M結束位置為...
我是算13244868+((11-5)*15+(14-5))*4=13245264
可是書本上說還要加3 所以不清楚加3的原因為何
2.#include <stdio.h>
#include <stdlib.h>
#include <string.h>
union grade{
char course[5];
int score;
}Bob;
void printBob(void){
printf("Bob科目=%s\n",Bob.course);
printf("Bob成績=%d\n",Bob.score);
}
int main(void){
Bob.score=98;
strcpy(Bob.course,"數學");
printBob();
strcpy(Bob.course,"數學");
Bob.score=98;
printBob();
system("PAUSE"); return 0;
}
output是Bob科目=數學
Bob成績=-943798596
Bob科目=b
Bob成績=98
那個-943798596和b是怎麼形成的不太清楚
還請會的大大賜教
--
All Comments