C语言小问题,有提示的
#include<stdio.h>voidyy(chara,intb);structaa{intnum;charname[10];intcj;}boy[10];intma...
#include<stdio.h>
void yy(char a,int b);
struct aa
{
int num;
char name[10];
int cj;
}boy[10];
int main()
{
FILE *p;
int i;
yy('=',50);
for(i=0;i<2;i++)
{
boy[i].num=i+1;
printf("input num %d name\n",i+1);
scanf("%s",boy[i].name);
printf("input cj\n");
scanf("%d",&boy[i].cj);
}
if((p=fopen("ccc","wa"))==NULL)
{
printf("open file error!!\n");
return(0);
}
yy('=',50);
printf("学号\t姓名\t成绩\n");
for(i=0;i<2;i++)
{
fprintf(p,yy('=',50));----------------------------这条语句不能把内容录入到文本中
printf("%d\t%s\t%d\n",boy[i].num,boy[i].name,boy[i].cj);
fprintf(p,"%d\t%s\t%d\n",boy[i].num,boy[i].name,boy[i].cj);
}
fclose(p);
getchar();
}
void yy (char a,int b)
{
int i=0;
while(i!=b)
{
printf("%c",a);
i++;
}
printf("\n");
}
我编译的时候有警告,这是什么意思:
gcc -Wall max.c
max.c: In function ‘main’:
max.c:31: error: invalid use of void expression 展开
void yy(char a,int b);
struct aa
{
int num;
char name[10];
int cj;
}boy[10];
int main()
{
FILE *p;
int i;
yy('=',50);
for(i=0;i<2;i++)
{
boy[i].num=i+1;
printf("input num %d name\n",i+1);
scanf("%s",boy[i].name);
printf("input cj\n");
scanf("%d",&boy[i].cj);
}
if((p=fopen("ccc","wa"))==NULL)
{
printf("open file error!!\n");
return(0);
}
yy('=',50);
printf("学号\t姓名\t成绩\n");
for(i=0;i<2;i++)
{
fprintf(p,yy('=',50));----------------------------这条语句不能把内容录入到文本中
printf("%d\t%s\t%d\n",boy[i].num,boy[i].name,boy[i].cj);
fprintf(p,"%d\t%s\t%d\n",boy[i].num,boy[i].name,boy[i].cj);
}
fclose(p);
getchar();
}
void yy (char a,int b)
{
int i=0;
while(i!=b)
{
printf("%c",a);
i++;
}
printf("\n");
}
我编译的时候有警告,这是什么意思:
gcc -Wall max.c
max.c: In function ‘main’:
max.c:31: error: invalid use of void expression 展开
4个回答
展开全部
我帮你把程序修改了,你自己试下吧,你原来的fprintf的用法有无,你去自己看下man文档,我帮你改了下程序,如下:
#include<stdio.h>
void yy(char a,int b);
void yy(FILE* p, char a, int b);
struct aa
{
int num;
char name[10];
int cj;
}boy[10];
int main()
{
FILE *p;
int i;
yy('=',50);
for(i=0;i<2;i++)
{
boy[i].num=i+1;
printf("input num %d name\n",i+1);
scanf("%s",boy[i].name);
printf("input cj\n");
scanf("%d",&boy[i].cj);
}
if((p=fopen("ccc","wa"))==NULL)
{
printf("open file error!!\n");
return(0);
}
yy('=',50);
printf("学号\t姓名\t成绩\n");
for(i=0;i<2;i++)
{
//fprintf(p,yy('=',50));----------------------------这条语句不能把内容录入到文本中
yy(p,'=',50);
printf("%d\t%s\t%d\n",boy[i].num,boy[i].name,boy[i].cj);
fprintf(p,"%d\t%s\t%d\n",boy[i].num,boy[i].name,boy[i].cj);
}
fclose(p);
getchar();
}
void yy (char a,int b)
{
int i=0;
while(i!=b)
{
printf("%c",a);
i++;
}
printf("\n");
}
void yy (FILE* p, char a, int b)
{
int i=0;
while(i!=b)
{
fprintf(p,"%c",a);
i++;
}
fprintf("\n");
}
#include<stdio.h>
void yy(char a,int b);
void yy(FILE* p, char a, int b);
struct aa
{
int num;
char name[10];
int cj;
}boy[10];
int main()
{
FILE *p;
int i;
yy('=',50);
for(i=0;i<2;i++)
{
boy[i].num=i+1;
printf("input num %d name\n",i+1);
scanf("%s",boy[i].name);
printf("input cj\n");
scanf("%d",&boy[i].cj);
}
if((p=fopen("ccc","wa"))==NULL)
{
printf("open file error!!\n");
return(0);
}
yy('=',50);
printf("学号\t姓名\t成绩\n");
for(i=0;i<2;i++)
{
//fprintf(p,yy('=',50));----------------------------这条语句不能把内容录入到文本中
yy(p,'=',50);
printf("%d\t%s\t%d\n",boy[i].num,boy[i].name,boy[i].cj);
fprintf(p,"%d\t%s\t%d\n",boy[i].num,boy[i].name,boy[i].cj);
}
fclose(p);
getchar();
}
void yy (char a,int b)
{
int i=0;
while(i!=b)
{
printf("%c",a);
i++;
}
printf("\n");
}
void yy (FILE* p, char a, int b)
{
int i=0;
while(i!=b)
{
fprintf(p,"%c",a);
i++;
}
fprintf("\n");
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
fprintf(p,yy('=',50));----------------------------这条语句不能把内容录入到文本中
这个语句有问题,由于你的yy函数定议为void yy (char a,int b)是个空数型,也就不会返回值,所以他不能用来做为fprintf的实际参数,error: invalid use of void expression 这个错误就是说你无效的使用了void (空类型)表达式.
这个语句有问题,由于你的yy函数定议为void yy (char a,int b)是个空数型,也就不会返回值,所以他不能用来做为fprintf的实际参数,error: invalid use of void expression 这个错误就是说你无效的使用了void (空类型)表达式.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
yy('=',50)是把字符输出到显示屏,本身返回值是void的,跟fprintf毫无瓜葛,
你把它作为参数,当然错误了.
你把它作为参数,当然错误了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main函数是INT型的,在函数最后没有返回值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询