這一個可能很簡單,但我似乎無法得到它的工作。C:使用printf時出現分割錯誤
我有這個非常簡單的代碼片段:
#include <stdio.h>
#include <string.h>
int main(void)
{
char buf[100];
char *p = buf;
strcpy(p, "Test string");
printf("%s\n", *p);
}
當我運行它導致分段錯誤。 GDB輸出:
Program received signal SIGSEGV, Segmentation fault.
0xb76af3b3 in strlen() from /lib/i686/cmov/libc.so.6
但我仍然不明白。
評論將不勝感激,謝謝。
你可能已經看了GCC警告,以獲得問題的一個想法: test.c的:在函數「主」: 測試。c:12:警告:格式'%s'需要鍵入'char *',但參數2的類型爲'int' – 2010-06-04 17:23:47
足夠滑稽我沒有得到那個警告信息,如果我這樣做了,我可能會挽救所有人,包括我自己:) – Hamza 2010-06-04 17:32:42
您可能想要確保使用'-Wall'編譯器標誌來確保不會錯過警告。 – VeeArr 2010-06-04 18:53:07