繁体   English   中英

使用unsigned long long int的函数的结果不正确

[英]Incorrect results from function which is using unsigned long long int

以下是我在c中键入的代码

unsigned long long int Je=23; 
int col=2,row=2; 
void mod(unsigned long long int mat1[][col],unsigned long long int mat2[][col],int r) 
{
    int i,j;
    for(i=0;i<r;i++)
        for(j=0;j<col;j++)
        {
            mat1[i][j]=mat2[i][j]%Je;
            printf("Value mat1=%u mat2=%u Je=%u\n",mat1[i][j],mat2[i][j],Je);
        } 
}

我用以下矩阵调用此函数

t1[2][2]={1036,1090,1526,1472};
mod(t2,t1,row);

但是在控制台屏幕上,对于包含在函数定义中的“ printf”语句,我得到以下结果

Value mat1=5 mat2=0 Je=1036
Value mat1=2 mat2=0 Je=1090
Value mat1=16 mat2=0 Je=1526
Value mat1=9 mat2=0 Je=1472

值怎么这样打印? 我正在使用Dev Cpp编译器。

printf语句中的格式说明符“%u”不正确。 对于无符号长整型,说明符应为“%llu”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM