#include <stdio.h>
void cin_array(int (*a)[2][3]) //数组输入
{

int i,j;
for(i = 0;i < 2 ;i++)
{
for(j = 0;j < 3;j++)
{
printf("a[%d][%d]=",i,j);
scanf("%d&

展开全部
收起
3回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • LiyaLiya

    10人对此回答表示赞同

    具体原因我就不是很清楚,但是你要知道你现在存储的是数组指针,也就是**p,这种。因为数组本来就是指针。
    另外你找最小值的时候是错的,不是老跟第一个比较。
    #include <stdio.h>
    void cin_array(int a[2][3]) //数组输入
    {

    int i,j;
    for(i = 0;i < 2 ;i++)
    {
    for(j = 0;j <
    展开
    10
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Grace

    9人对此回答表示赞同

    bug 产生的原因是子程修改/访问了非法地址空间造成的,可以这样修改
    把scanf("%d",a[i][j]); 改为scanf("%d",(*((*a)+i)+j) ) ;
    把*a[w][l]; 改为 *(*(*a+w)+l);
    展开
    9
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • JeniferJJJ

    6人对此回答表示赞同

    参数传递不正确
    cout_array(&a);这样是传递了二维数组首地址的地址
    则子函数内这样*a[m][n]就是对地址操作,而不是对数值操作,所以引起混乱
    改正:
    #include <stdio.h>
    void cin_array(int a[3][4]) //数组输入
    {

    int i,j;
    for(i = 0;i < 2 ;i++)
    {
    f
    展开
    6
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部