秋浸月 2023-10-22 19:22 采纳率: 46.2%
浏览 2
已结题

这代码运行时为啥报错阿

为啥报错阿

img


#include<stdio.h>
                            //用指向数组元素的指针变量输出二维数组各元素的值

int mian()
{
    int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
    int *p;
    p=a[0];
    for(;p<a[0]+12;p++)
    {
        printf("%d\t",*p);
    }
    return 0;
}
  • 写回答

2条回答 默认 最新

  • CodeXTreme工作室 2023-10-22 19:30
    关注

    1.主函数名应该是main
    2.数组a的声明应该放在main函数的内部,而不是放在所有函数的外部。
    3.循环的终止条件应该是p<a[3],而不是p<a[0]+12,因为二维数组可以看作是一个包含多个一维数组的数组,所以总共的元素数目是3*4=12,因此循环应该遍历到最后一个元素。

    以下是修改后的代码:

    #include<stdio.h>
    
    int main()
    {
        int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
        int *p;
        p=a[0];
        for(;p<a[3];p++)
        {
            printf("%d\t",*p);
        }
        return 0;
    }
    

    这段代码将会输出二维数组a的所有元素值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月30日
  • 已采纳回答 10月22日
  • 创建了问题 10月22日