已读、不回 2021-03-28 12:30 采纳率: 50%
浏览 44
已采纳

C语言 有关C4704警告的提问(小白)求大神解答一下!

这是我的一个实验报告的内容:

#include<stdio.h>
#include<stdlib.h>
int main()
{
	FILE *fp;
	int hang,da,xi,shu,qt;
	int count_file(FILE *fp,int *da,int *xi,int *shu,int *qt);	
	if((fp = fopen("a.txt","r")) == NULL)
	{
		printf("不能打开文件!\n");
		exit(0);
	}
	hang=count_file(fp,&da,&xi,&shu,&qt);
	fclose(fp);
	printf("行数为:%d\n",hang);
	printf("大写字母个数为:%d\n",da);
	printf("小写字母个数为:%d\n",xi);
	printf("数字个数为:%d\n",shu);
	printf("其他字符个数为:%d\n",qt);
	return 0;
}
int count_file(FILE *fp,int *da,int *xi,int *shu,int *qt)
{
	int hang;
	char ch;
	hang=0,*da=0,*xi=0,*shu=0,*qt=0;
	while(!feof(fp))
	{
		if((ch=fgetc(fp)) == EOF) break;
		if(ch=='\n') hang++;
		else if(ch>='A' && ch<='Z') *da=*da+1;
		else if(ch>='a' && ch<='z') *xi=*xi+1;
		else if(ch>='0' && ch<='9') *shu=*shu+1;
		else *qt=*qt+1;
	}
	return hang+1;
}

但是我不明白的是为什么我在定义 count_file函数的时候是int型,也是用的int定义的hang。

但如果我把count_file(FILE *fp,int *da,int *xi,int *shu,int *qt)改成count_file(FILE *fp,int da,int x,int shu,int qt).

在hang=count_file 这一行就会报c4707的警告.为什么函数的形参会影响这个呢?求大神解答!

  • 写回答

2条回答 默认 最新

  • 小白小白你好菜 2021-03-28 14:01
    关注

    你传的实参是&类型,即地址类型,形参是数据类型,类型不匹配且无法转化,系统在你调用这个函数的地方报错,没毛病。

    系统看来,你的自定义函数没有问题,但是你的调用产生问题,所以在那行报错,4707应该就是类型不匹配

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图