c语言求助 帮我看看,求大神,错误是syntax error before'&' token,急

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言求助 帮我看看,求大神,错误是syntax error before'&' token,急相关的知识,希望对你有一定的参考价值。

void read_files()

FILE *fp;
int i;
int j;
char adr[1000];
printf("请输入读取的文件地址:\n\n地址输入格式:例如d:\\\\Student.txt");
scanf("%s",adr);
printf("读取中\n");
if(fp=fopen(adr,"r"))

fscanf(fp,"%d",&student_count);
for(i=0;i<student_count;i++)

fscanf(fp,"%ld%s%d",&s[i].num.&s[i].name,&s[i].lesson_count);
for(j=0;j<s[i].lesson_count;j++)

fscanf(fp,"%ld%s%d%f",&s[i].l[j].lesson_num,&s[i].l[j].lesson_name,
&s[i].l[j].lesson_score,&s[i].l[j].lesson_num1);


printf("读取成功\n");
fclose(fp);

else

printf("读取失败\n");


为何我重新打了一遍就正确了

参考技术A fscanf(fp,"%ld%s%d",&s[i].num.&s[i].name,&s[i].lesson_count);
改为:fscanf(fp,"%ld%s%d",&s[i].num,&s[i].name,&s[i].lesson_count);
主要是符号写错了:&s[i].name前面的“.”需要改为","
参考技术B for循环中
fscanf(fp,"%ld%s%d",&s[i].num.&s[i].name,&s[i].lesson_count);这里错了, 改为
fscanf(fp,"%ld%s%d",&s[i].num,s[i].name,&s[i].lesson_count);追答

应该是第一次打的时候手误了,第二次打的时候没手误了

参考技术C fscanf(fp,"%d",&student_count);有错误

大神们帮我看看程序吧,linux C语言编程 隐式声明和strlen出错,改为sizeof后,段错误,

/*ex8-2server.c*/
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>

#define LISTENQ 5
#define MAXLINE 512

int main()

int listenfd, connfd;
socklen_t len;
struct sockaddr_in servaddr, cliaddr;
char buff[MAXLINE];
time_t ticks;
listenfd=socket(AF_INET, SOCK_STREAM,0);
if(listenfd<0)

printf("Socket created failed.\n");
return -1;

servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(6666);
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(listenfd, (struct sockaddr *)&servaddr, sizeof(servaddr))<0)

printf("bind failed.\n");
return -1;

printf("listening....\n");
listen(listenfd, LISTENQ);
while(1)

len=sizeof(cliaddr);
connfd=accept(listenfd,(struct sockaddr *)&cliaddr, &len);
printf("connect from %s, port %d \n",inet_ntoa(cliaddr.sin_addr.s_addr),ntohs(cliaddr.sin_port));
ticks=time(NULL);
sprintf(buff,"% .24s \r \n",ctime(&ticks));
write(connfd,buff,strlen(buff));
close(connfd);


/*ex8-2client.c*/
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netdb.h>
#define MAXBUFFSIZE 256
#define PORT 6666
#define HOST_ADDR "127.0.0.1"
int main(int argc, char *argv[])

int sockfd,n;
char recvbuff[MAXBUFFSIZE];
struct sockaddr_in servaddr;
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)

printf("Socket created failed.\n");
return -1;


servaddr.sin_family=AF_INET;
servaddr.sin_port=htons(6666);
servaddr.sin_addr.s_addr=htonl(INADDR_ANY);
printf("connecting...\n");
if(connect(sockfd,(struct sockaddr *)&servaddr,sizeof(servaddr))<0)

printf("Connect server failed.\n");
return -1;

while((n=read(sockfd,recvbuff,MAXBUFFSIZE))>0)

recvbuff[n]=0;
fputs(recvbuff,stdout);

if(n<0)

printf("Read failed!\n");
return -2;

return 0;

这是客户机 服务器连接程序,通过套接字建立连接,客户机使用流套接字向服务器请求日期和时间,服务器在收到请求后,回答请求并显示出客户的地址,但是在终端运行后,服务器提示listening,,,,并提示段错误,客户端只提示connecting.........无法正常运行

段错误说明非法内存操作 参考技术A sizeof会计算结束符 参考技术B 你能把你的问题说出来不 这么多 怎么看???

以上是关于c语言求助 帮我看看,求大神,错误是syntax error before'&' token,急的主要内容,如果未能解决你的问题,请参考以下文章

大神们帮我看看程序吧,linux C语言编程 隐式声明和strlen出错,改为sizeof后,段错误,

VC编译C语言出现syntax error : missing ')' before ';'错误

求大神帮忙看看c语言编程哪里出问题了,文件始终是空白,无法写入。

求助各位大神帮我看下 Unity3d 与 Android 交互的问题

求java大神帮我看看 小弟跪求 QAQ

求助,请各位帮我看看导致app crash的问题在哪里