#include<stdio.h>
int main()
{
char *name = "Vikram";
printf("%s",name);
name[1]='s';
printf("%s",name);
return 0;
}
終端上沒有打印輸出,只是出現分段錯誤。但是,當我在GDB運行它,我獲得以下 -執行printf()和分割錯誤
Program received signal SIGSEGV, Segmentation fault.
0x0000000000400525 in main() at seg2.c:7
7 name[1]='s';
(gdb)
這意味着程序收到七號線賽格故障(顯然我不能恆字符數組寫)。那麼爲什麼第6行的printf()沒有被執行?
我不太確定。它在運行OSX Lion的Mac上按預期工作(符合LLVM,使用LLDB調試)。 – 2012-02-27 18:02:27