扫描字符串格式
问题描述:
我做了一个代码,应该采取stdin并确保它是真实的,这取决于我的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
我不知道是什么原因造成分段错误
答
你需要亲请提供char *
的地址,scanf
和printf
函数,但您提供的是相同的元素。此外,您需要分配内存到char *a
。
char *a = malloc(15*sizeof(char));
while (1 == scanf("/%[^/ \t\n]", a))
printf(">%s<\n", a);
输出:
>test<
'炭STR [32]; char * a = str; i = 0; while(1 == scanf(“/%[^/\ t \ n]”,a)) printf(“>%s BLUEPIXY
一个好的开始是使用调试器找出崩溃发生的位置。 – Olaf
@BLUEPIXY a必须是它是如何,这是一个要求。 –