关于c语言中 用指针求最大值的问题
来源:百度知道 编辑:UC知道 时间:2024/06/23 05:49:38
为什么没有显示出结果!谁能帮我在原有的基础上改一下!谢谢
#include <stdio.h>
main()
{
int c,i,j;
int max;
int a[100];
int *p;
FILE *fp;
fp=fopen("D:\\abc.txt" ,"w");
if(fp!=NULL)
{
for (i=0;i<=100;i++)
fprintf(fp,"%d\t",i);
}
fclose(fp);
return 0;
fp=fopen("D : \\abc.txt" ,"r");
j=0;
while((c=fgetc(fp))!=EOF)
{
c=a[j++];
}
p=&a[0];
for (j=1;j<100;j++)
if( *p>a[j] )
continue;
else
{
p=&a[j];
}
printf("max=%d",*p);
return 0;
}
#include <stdio.h>
main()
{
int c,i,j;
int max;
int a[100];
int *p;
FILE *fp;
fp=fopen("D:\\abc.txt" ,"w");
if(fp!=NULL)
{ <
#include <stdio.h>
main()
{
int c,i,j;
int max;
int a[100];
int *p;
FILE *fp;
fp=fopen("D:\\abc.txt" ,"w");
if(fp!=NULL)
{
for (i=0;i<=100;i++)
fprintf(fp,"%d\t",i);
}
fclose(fp);
return 0;
fp=fopen("D : \\abc.txt" ,"r");
j=0;
while((c=fgetc(fp))!=EOF)
{
c=a[j++];
}
p=&a[0];
for (j=1;j<100;j++)
if( *p>a[j] )
continue;
else
{
p=&a[j];
}
printf("max=%d",*p);
return 0;
}
#include <stdio.h>
main()
{
int c,i,j;
int max;
int a[100];
int *p;
FILE *fp;
fp=fopen("D:\\abc.txt" ,"w");
if(fp!=NULL)
{ <
沙发己把主要错误说出来了,我把完整代码给你写下。
输出最大是99,为什么不是100,因为你写入文件时是0到100,那样有101个,但你定义的数组为100个元素,照你最后的循环也就是取最大值,只能取100个,第100个就是99,或许这是你的大意,
所以学C 是要非常仔细,因为经常因一点小错误而使结果和原意完全不同,而且又很难发现
#include <stdio.h>
main()
{
int c,i,j;
int max;
int a[100];
int *p;
FILE *fp;
fp=fopen("D:\\abc.txt" ,"w");
if(fp!=NULL)
{
for (i=0;i<=100;i++)
fprintf(fp,"%d\t",i);
}
fclose(fp);
fp=fopen("D:\\abc.txt" ,"r");
for(j=0;j<100;j++)
{
fscanf(fp,"%d",&a[j]);
if(feof(fp))
break;
}
p=a;
for (j=1;j<100;j++)
{
if( *p<a[j] )
p=&a[j];
}
printf("max=%d",*p);
getchar();
return 0;
}
#include <stdio.h>
int main()
{
int c,i,j;
int max;
int a[100];