có một cái code như thế này
#include <iostream>
using namespace std;
int d=1;
int func(int p)
{
static int d=15;
d += p;
cout <<d<<";";
return d;
}
void main()
{
int a=4;
cout << func(a + func(d))<<endl;
system("pause");
}
theo em phân tích thì đầu tiên cout << func(a + func(d))<<endl; thì chạy cái func(d) trước, thì in ra kết quả là 16, lúc này d=16.
sau đó func(a + func(d)) có nghĩa là func(4 +16) tức là func(20) thì chạy ra kết quả là d+=p thì d= 20 +15 = 35
vậy xuất ra màng hình sẽ là 16;35 . sao em test trên máy lại là 16;36;36 . nhờ mọi người giúp đỡ

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?