0

好的,所以我正在尝试将数据添加到此文本文件中,并且我想添加一个 int,每次尝试此操作时,我都会输入 int,然后按 enter,并收到此错误消息...

“homework2.exe 中 0x77ac15de (ntdll.dll) 的未处理异常:0xC0000005:访问冲突写入位置 0x00000000。”

使用一个只允许我中断或继续的窗口,在我关闭我的 cmd 窗口之前,这两者都不会真正做任何事情。如果没有添加 int 的行,它就可以正常工作,当它只添加用户输入的字符串时,它就可以正常工作。代码看起来像这样......

//printf("Enter the term: "); scanf("%d", input);
//THIS STUFF DOESNT WORK!
    //fprintf(inputf, "%d, ", input);

    printf("Enter last name: "); scanf("%s", name);

    fprintf(inputf, "%s,", name);

    printf("Enter first name: "); scanf("%s", name);

    fprintf(inputf, "%s,", name);

当我打开它时,我希望文件中的文本像这样读取......

" 1301,"Doe","John J." "

4

2 回答 2

2

函数 scanf() 具有以下原型:

int scanf(const char *format, ...);

如果要更改变量本身,则需要指向变量的指针,因此您必须使用地址操作符将指针传递给函数。

你必须使用scanf("%d", &input);而不是scanf("%d", input);

于 2013-02-28T17:33:24.630 回答
1

需要更改scanf("%d", input);scanf("%d", &input);

于 2013-02-28T17:33:16.310 回答