本帖最后由 无情修罗 于 2015-3-29 15:56 编辑 #include <stdio.h>
#include <string.h>
/* 本部分代码功能建议:函数原型声明 */
/* User Code Begin(Limit: lines<=2, lineLen<=80, 考生可在本行后添加代码、最多2行、行长<=80字符) */
int input(char *from[],char (*p)[9]);
void find(char *from[],int n,int *findmax);
/* User Code End(考生添加代码结束。注意:空行和单独为一行的{与}均不计行数、行长不计行首tab缩进) */
int main(void)
{
char *pStr[50], str[50][9];
int Count=0, max;
printf("****Input strings****\n");
Count = input(pStr, str);
printf("\nmax = ");
find(pStr, Count, &max);
printf("%s\n", pStr[max]);
return 0;
}
/* User Code Begin:考生在此后完成自定义函数的设计,行数不限 */
int input(char *from[],char (*p)[9])
{
int i,j=0;
char *temp;
for(i=0;i<50;i++)
{
gets(*(p+i));
if(strcmp(*(p+i),"*End*")==0)
{
break;
}
else
{
from[j++] = *(p+i);
}
}
return j;
}
void find(char *from[],int n,int *findmax)
{
int i,j;
i=j=0;
char *temp;
*temp = *from[i];
findmax = &j;
for(i=1;i<n;i++)
{
if(strcmp(temp,from[i])<0)
{
temp = from[i];
findmax=&i;
}
}
*findmax = *findmax -1;
printf("%d\n",*findmax);
}
我想问一下为什么调用find函数后,max的值与函数中最后的findmax的值不一样
|