通常我使用一個字符串大小的定義,但是當我使用scanf()
時,我想防止讀取太多字符的函數(併爲空終止符保留空間)。我想知道我是否可以使用我的定義來做到這一點,而不是硬編碼的幻數......從閱讀過多的字符和定義來防止scanf?
#include <stdio.h>
#define MAXLEN 4
int main(void) {
char a[MAXLEN];
scanf("%3s", a); // Can I do that with 'MAXLEN' somehow?
}
這可能嗎?如果是,如何?
使用MAXLEN 3;然後定義'char a [MAXLEN + 1]' –
我已經鏈接到了重複,但爲什麼不使用'fgets()'和'sscanf()'? –
我可以,但我想知道'scanf()'@IharobAlAsimi,謝謝! – gsamaras