fprintf段错误尽管字符串独立打印

时间:2013-02-21 07:29:08

标签: c printf

我在最后一个案例中遇到了一个奇怪的段错误。 Valgring声明非法内存访问

    fprintf(stderr, "Print %s \n", primary_key->name);
    fprintf(stderr, "Print %s \n", table->table);
    fprintf(stderr, "Print %s \n ", db->table); 

    fprintf(stderr, "Print %s\\%s \n", db->table, table->table);

前3个语句完全正常,但是一旦我尝试访问这两个语句,我就会遇到段错误。有什么想法吗? (这是实际代码,两者之间没有任何内容)我是C的新手,所以不必详细了解fprintf的工作原理。

valgrind错误是:

打印345 打印foo 打印测试

== 19994 ==读取大小为1

== 19994 ==在0x5EF53B1:vfprintf(vfprintf.c:1630)

== 19994 == by 0x5EF81A3:buffered_vfprintf(vfprintf.c:2313)

== 19994 == by 0x5EF2BDD:vfprintf(vfprintf.c:1316)

== 19994 == by 0x5EFD836:fprintf(fprintf.c:33)

== 19994 == by 0x5E95E9:...

== 19994 ==地址0x4未堆叠,malloc'd或(最近)免费

== 19994 ==

0 个答案:

没有答案