-1 c
我的简单C程序中有一个非常烦人的问题,我不明白为什么这段代码不起作用.
这是代码:
#include <stdio.h>
int main()
{
unsigned long long podstawa,wykladnik;
unsigned int d;
scanf("%d",&d);
while(d>0)
{
d--;
scanf("%d %d",&podstawa,&wykladnik);
printf("%d %d",(podstawa%10),(wykladnik%10) );
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
如果您编译此程序,即使输入数据是正确的,您也可以看到它.
Wykladnik%10 错误的号码.
例如,podstawa和的值wykladnik是3,而podstawa%10打印输出3的wykladnik%10打印输出5.
这个错误很有意思,因为值wykladnik%10总是比2应该大,我不知道为什么.
我希望我提供了足够的信息,有人能够帮助我.我一直试图找到这个错误10分钟,我仍然看不到它.
由于您的数据类型使用了错误的说明符,因此输出错误.它将调用未定义的行为.将格式说明符更改%d为%llufor unsigned long long和%uforunsigned int