问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
运行结果及报错内容
#include <stdio.h>
#include <cstring>
typedef struct st_c
{
char ch;
int num;
}cHp;
void sort(cHp *pi,int a)
{
cHp*p0=pi;
cHp* pj;
cHp temp;
for(pi=p0; pi-p0<a-1; ++pi)
{
for(pj=pi; pj-p0<a-1; ++pj)
{
for(pj=pi;pj-p0<a-1;++pj)
{
if(pj->num>(pj+1)->num)
temp=*pj;
*pj=*(pj+1);
*(pj+1)=temp;
}
}
}
}
void trans(cHp *pi,int a,int *ptt)
{
cHp *pj=pi;
int *Ptt;
int i=0;
for( i=0; i<a; i++,++pj,++ptt)
{
pj->ch=i;
pj->num=*Ptt;
}
}
void wen()
{
char s[255];
memset(s, 0, sizeof(s));
int t[255] = {0};
cHp arr[255];
char ch;
gets(s);
FILE *fp;
fp = fopen(s, "r");
if (fp == NULL)
{
printf("error!\n");
}
else
{
while (fscanf_s(fp, "%c", &ch, 1) == 1)
{
if (ch < 'z' && ch > 'a')
{
t[ch - 32]++;
} else
{
t[ch]++;
}
}
}
fclose(fp);
trans(arr, 255, t);
sort(arr, 255);
}
int main()
{
int t[255] = {0};
int *pt=&[0];
cHp arr[255];
memset(arr, 0, sizeof(cHp));
wen();
for(int i=0;i<255;i++)
{
if(arr[i].ch==32)
{
printf("%s: %d\n", "0x20", arr[i].num);
}
else
{
printf("%c: %d\n", arr[i].ch, arr[i].num);
}
}
return 0;
}
我想要达到的结果
想要在wen这个函数中调用sort和trans两个函数然后在主函数中调用wen函数,就是三十九行和七十七行这块这个wen函数中的参数该怎么传那几个参呢,调用的参数该传哪几个有点迷糊了,各位帮忙看一下如果那里有其他问题帮忙改一下,谢谢,原题是文本文件里查找字符出现次数并排序的