通常我使用一个字符串大小的定义,但是当我使用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