小编abs*_*sis的帖子

Matrix - C中的分段错误

运行此代码时发生分段错误.我找不到任何异常,如果我改变了垫子,它会运行[3] [3].请告诉我有什么问题,谢谢

#include<stdio.h>
void getdata(int **mat)
{
    int i,j;
    for (i=0;i<3;i++)
    {
        for (j=0;j<3;j++)
            mat[i][j] = rand()%3;
    }
}
void putdata(int **mat)
{
    int i,j;
    for (i=0;i<3;i++)
    {
        for (j=0;j<3;j++)
            printf("%d",mat[i][j]);
        printf("\n");
    }
}
void main()
{
    int mat1[3][3];
    int mat2[3][3];
    getdata(mat1);
    getdata(mat2);
    putdata(mat1);
}
Run Code Online (Sandbox Code Playgroud)

c

3
推荐指数
1
解决办法
122
查看次数

指针间接问题

这个程序产生0 1 1作为输出对我预期的输出0 1 2.有人可以解释为什么增量运算符不能作为前缀工作吗?

#include <stdio.h> 
int main(void)
{
    int i;
    int *ptr = (int *) malloc(5 * sizeof(int));

    for (i=0; i<5; i++)
        *(ptr + i) = i;

    printf("%d ", (*ptr)++);
    printf("%d ", *ptr);
    printf("%d ", *++ptr);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c c++ gcc pointers

2
推荐指数
1
解决办法
87
查看次数

标签 统计

c ×2

c++ ×1

gcc ×1

pointers ×1