[問題] 關於引用副程式與memory的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC
問題(Question):
最近遇到一些C++面試時的問題,但自己仍找不出問題的地方
想請教前輩們下面問題的解答,謝謝
1.下面的程式,紅色是自己覺得有問題修改的地方,但不知道是否還有錯誤?
#define PI 3.14
doule AREA_CAL_IRQHANDLER(double radius)
{
double area = PI*radius*radius;
printf(“\nArea=%f”, area);
return area; (此行應該改return 0;)
}
2.想請問下面function在做什麼動作跟如果有問題的話會發生在哪?
int main ()
{
int i,n;
char * buffer;
printf ("How long do you want the string? ");
scanf ("%d", &i);
buffer = (char*) malloc (i+1);
if (buffer==NULL) exit (1);
(如果在這exit,上面叫的memory不會被free?)
if(i>1000) return 1;
for (n=0; n<i; n++)
buffer[n]=rand()%26+'a';
buffer[i]='\0';
printf ("Random string: %s\n",buffer);
free (buffer);
return 0;
}
3.想請問該行會在哪裡出問題?
struct S {
int i;
int *p;
};
main() (少加上int main()?)
{
S s;
int *p = &s.i;
p[0] = 4;
p[1] = 3;
s.p = p; (這裡指的p值似乎有問題?)
s.p[1] = 1;
s.p[0] = 2;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 36.229.167.207
→
06/25 19:33, , 1F
06/25 19:33, 1F
→
06/25 19:34, , 2F
06/25 19:34, 2F
→
06/25 19:35, , 3F
06/25 19:35, 3F
推
06/25 19:46, , 4F
06/25 19:46, 4F
→
06/25 19:47, , 5F
06/25 19:47, 5F
※ 編輯: Is5566 來自: 36.229.167.207 (06/25 20:03)
→
06/25 20:13, , 6F
06/25 20:13, 6F
→
06/25 20:15, , 7F
06/25 20:15, 7F
→
06/25 20:17, , 8F
06/25 20:17, 8F
→
06/25 20:29, , 9F
06/25 20:29, 9F
→
06/25 20:52, , 10F
06/25 20:52, 10F
→
06/25 23:55, , 11F
06/25 23:55, 11F
推
06/26 01:03, , 12F
06/26 01:03, 12F
推
06/26 01:47, , 13F
06/26 01:47, 13F
→
06/26 01:48, , 14F
06/26 01:48, 14F
→
06/26 05:12, , 15F
06/26 05:12, 15F
推
06/26 17:32, , 16F
06/26 17:32, 16F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):