简单的语言问题,高手帮帮我吧,看看哪错了。

[复制链接]
查看11 | 回复3 | 2011-1-6 15:59:00 | 显示全部楼层 |阅读模式
编一程序,从一个3行4列的二维数组中找出最大数所在的行和列,并将最大值及所在行列值打印出来。要求将查找和打印的功能编一个函数,二维数组的输入在主函数中进行,并将二维数组通过指针参数传递的方式由主函数传递到子函数中。
我做是的这样的:
#include "stdio.h"
int fun(int (*p)[4],int n)
{
int max,i,j;
for (i=0;ip[maxi][maxj]) {maxi=i;maxj=j; } printf("max=%d,%d,%d", p[maxi][maxj],maxi,maxj);}void main(){ int i,j,a[3][4]; for(i=0;i<3;i++) for(j=0;j<4;j++
回复

使用道具 举报

千问 | 2011-1-6 15:59:00 | 显示全部楼层
仔细看了下你的代码,达不到要求的原因主要有以下几点:1、fun函数没有返回值2、若想获取第i行第j列的数应为*(*(p+i)+j))3、第几行第几列是最大值无法返回给main函数等修改后可以用的代码如下:#include "stdio.h"int fun(int (*p)[4],int n, int *x, int *y){
回复

使用道具 举报

千问 | 2011-1-6 15:59:00 | 显示全部楼层
好像函数fun没有返回值啊! 主函数怎么接收啊!
回复

使用道具 举报

千问 | 2011-1-6 15:59:00 | 显示全部楼层
把错误提示贴出来
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行