我無法弄清楚如何保存用戶輸入字符串。字符串,詢問並存儲
我想問用戶兩個單獨的字符串變量(一個字),並將它們存儲以備後用,用作reference
和query
變量。我想過使用scanf
來獲取用戶輸入,並使用%s
來存儲變量。
我要麼得到分段錯誤或錯誤的輸出取決於我如何修改代碼。我究竟做錯了什麼?
#include <stdio.h>
#include <errno.h>
#include <string.h>
int main(void)
{
char *reference, *query;
printf("\n Enter reference genome file name: ");
scanf("%s", reference);
printf("\n Enter sequence query file name: ");
scanf("%s", query);
printf("\n\n Reference file used was: %s\n", reference);
printf("Query sequence file used was: %s\n", query);
return 0;
}
當我這樣做時,我得到不正確的解析,意思是它爲參考文件打印的名稱與查詢文件名混合在一起。此外,我得到分段錯誤: – bretonics
謝謝!使用gcc編譯時,你也會得到這個警告嗎? 'warning:format指定類型'char *',但參數的類型爲'char **'[-Wformat] scanf(「%s」,引用);' – bretonics
I我無法用'-Wall'或'-Wformat'來獲得警告。我使用的是舊版本4.2.1。 –