01/10/2018, 12:17

Không kiểm soát được giá trị biến

Có ai giải thích cho em cái biến sum em cho thêm vào ở kia để kiểm tra mà ko ra giá trị đúng
(Chương trình tính hiệu 2 đường chéo của ma trận vuông)

#include<stdio.h>
int sumDiagonal(int a[10][10],int n)
{
    int pri = 0,sec = 0;
    int a_i,a_j,sum =0;
    for( a_i = 0; a_i < n; a_i++)
        for( a_j = 0; a_j < n; a_j++)
        {
            if(a_j == a_i)
            {
                sum++;
                pri =pri + a[a_i][a_j];
            }
            else if(a_j == (n - a_i -1))
                sec = sec + a[a_i][a_j];
        }
    printf("%d",&sum);
    if(pri >= sec)
        return pri-sec;
    else
        return sec-pri;

}
int main()
{
    int n;
    scanf("%d",&n);
    int a[n][n],a_i,a_j;
    for(a_i = 0; a_i < n; a_i++)
    {
        for(a_j = 0; a_j < n; a_j++)
        {

            scanf("%d",&a[a_i][a_j]);
        }
    }
    int sum = sumDiagonal(a,n);
    printf("hieu 2 duong cheo bang %d",sum);

    return 0;
}
HK boy viết 14:33 ngày 01/10/2018

Bạn in ra biến sum để làm gì?

printf("%d",&sum);

Thử sửa thành printf("%d", sum) xem.

rogp10 viết 14:25 ngày 01/10/2018

Chỉ cần một biến lặp thôi

Bài liên quan
0