我有這個代碼的問題。我正在使用gcc編譯器,當我編譯並執行此代碼時,我正在收到seg錯誤。我只是分配兩個變量,name_1作爲指針,name_2作爲字符串。當我試圖爲兩個值提供字符串輸入時,我正在收到seg故障。此seg錯誤總是與我正在使用的指針變量相關聯。字符串 - 分段錯誤
下面我提供了代碼和錯誤的截圖。
#include <stdio.h>
int main()
{
char *name_1 ;
char name_2[10] ;
/* Getting 2 strings as an input from the user
and is stored in the pointer variable name_1 and name_2*/
scanf("%s",name_1) ;
scanf("%s",name_2) ;
/* Printing the values of the varibales
name_1 and name_2 in string format */
printf("\n%s",name_1) ;
printf("\n%s",name_2) ;
printf("\n\n") ;
return 0 ;
}
請幫我看看這段代碼。
這是不是一個好主意,改變問題,以使答案已經提供無效。保留原文(也許作爲評論)並顯示更正是可以的;只是糾正代碼並使您得到的答案無效才行。 –
請注意,如果您使用的是GCC並且使用'-Wall'編譯,那麼您會收到編譯器發出的有關您的錯誤的警告。如果你使用的是GCC,確保你使用(至少)'-Wall'進行編譯。如果您使用其他編譯器,那麼瞭解如何打開更多警告。 –
先生, 現在我實際上有更多的疑惑。每當我聲明一個變量,它是不是分配一個空間? –