gpt4 book ai didi

调用非函数错误

转载 作者:行者123 更新时间:2023-11-30 18:26:41 25 4
gpt4 key购买 nike

friend 们大家好,我是C语言新手我的程序出现错误(在 Turbo C 编译器中)

#include<stdio.h>
#include<conio.h>

void main()
{
FILE *fopen().*p;//error call of nonfunction
char name[10];

p=fopen("rec.dat","r");
printf("enter your name:");
scanf("%s",name);
fprintf("p,"my name is %s",name);
fclose(p);
getch();
}

如果有人看看我的问题并给出一些解决方案,我会很高兴..

最佳答案

您发布的代码很可能与您编译的代码不同。您应该收到许多语法错误消息,但您没有提及。查找不匹配的引号。

您的线路:

FILE *fopen().*p;

可能的目的是:

FILE *fopen(),*p;

这将声明 fopen()函数和 FILE*对象p 。但完全没有必要声明 fopen你自己;这就是#include <stdio.h>是为了.所以只需将其更改为

FILE *p;

当你这样做时,改变 void main()int main(void) ,并摆脱任何书告诉你的void main()是正确的。

scanf("%s",name);是不安全的。它将把尽可能多的空格分隔的字符序列读入 name 。问题是,你还没有告诉scanf有多大name是。如果我输入 20 个字符,scanf将写入 name 的末尾。热闹将会随之而来。

关于调用非函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14784483/

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