gpt4 book ai didi

c - scanf 字符串格式

转载 作者:行者123 更新时间:2023-11-30 16:53:21 24 4
gpt4 key购买 nike

我编写了一个应该采用标准输入的代码,并根据我的 scanf 格式确保它是正确的。

这是代码

#include <stdio.h>

int main()
{
int i;
char* a;
i = 0;
while (1 == scanf("/%[^/ \t\n]", a[i++]))
printf(">%s<\n", a[i-1]);

return 0;
}

示例输入:

/test

示例输出:

/test
Segmentation fault

我不知道是什么导致了段错误

最佳答案

您需要向 scanfprintf 函数提供 char * 的地址,但您提供的是相同的。另外,您需要为 char *a 分配内存。

char *a = malloc(15*sizeof(char));
while (1 == scanf("/%[^/ \t\n]", a))
printf(">%s<\n", a);

输出:

>test<

关于c - scanf 字符串格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40878567/

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