gpt4 book ai didi

c - 在 C 中保留前导空格

转载 作者:行者123 更新时间:2023-11-30 18:50:35 24 4
gpt4 key购买 nike

我遇到了一个无法解决的简单问题。

int B;
char *a = (char*)malloc(1000*sizeof(char);

scanf("%[^\n]s", a);
printf("%c\n", a[0]);
B = strlen(a);
printf("%d\n", B);

如果我输入如下条目:

"   abc  "

a[0] = 'a' 且 B = 5(“abc”加上最后两个空格)。我想计算前三个空格,该怎么做?

最佳答案

您可以简单地使用 fgets() 读取整行,而不是使用 scanf(),后者通常会跳过空格,除非您显式捕获它。

int B;
char *a = malloc(1000 * sizeof*a); /* don't cast malloc */

if (fgets(a, 1000, stdin) == NULL) {
fputs("Could not read input\n", stdout);
}
else {
printf("%c\n", a[0]);
B = strlen(a);
printf("%d\n", B);
}

关于c - 在 C 中保留前导空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39759806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com