有个小问题
#include <string.h>#include <stdio.h>static const char *msg[] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};char *get_a_day(int idx){ static char buf[20]; strcpy(buf, msg[idx]); return buf;}#include <stdio.h>int main(void){ printf("%s %s\n", get_a_day(0), get_a_day(1)); return 0;}
#include <string.h>#include <stdio.h>static const char *msg[] = {"Sunday", "Monday", "Tuesday", "Wednesday","Thursday", "Friday", "Saturday"};char *get_a_day(int idx){ static char buf[20]; strcpy(buf, msg[idx]); return buf;}#include <stdio.h>int main(void){ printf("%s\n", get_a_day(0)); printf("%s\n", get_a_day(1)); return 0;}
[解决办法]
printf("%s %s\n", get_a_day(0), get_a_day(1));013F1A0E push 1 013F1A10 call get_a_day (13F11C2h) 013F1A15 add esp,4 013F1A18 mov esi,esp 013F1A1A push eax 013F1A1B push 0 013F1A1D call get_a_day (13F11C2h) 013F1A22 add esp,4 013F1A25 push eax 013F1A26 push offset string "%s %s\n" (13F5AE8h) 013F1A2B call dword ptr [__imp__printf (13F8328h)]