为了从给定数字的左边返回第i个数字,我创建了这个函数:
count
但是,当函数的输入为2,2时。这个功能花了很多时间来芬兰语;
所以我抬头看了调试器,发现0
和int main()
{
int x, i,result;
do
{
printf("Enter a number and the digit you want to retrieve.\nEnter a negative number to exit\n");
scanf("%ul %d", &x, &i);
if (x<0)
{
printf("Operation Aborted.. Exiting....\n");
break;
}
else
{
result = ith(x, i);
if (result == -1)
{
printf("Error: There are no such amount of digits to retrieve from that location\n");
continue;
}
printf("The %dth digit of the number %ul is %d\n", i, x, result);
}
} while (x >= 0);
}
从未收到我分配给他的{{1}}。
修改 这是我的其余代码,因为有些建议可能是此错误的来源。
{{1}}
答案 0 :(得分:1)
这一行
scanf("%ul %d", &x, &i);
在x
中使用错误的说明符进行扫描。
由于x
定义为int
,所以必须
scanf("%d %d", &x, &i);
或者您将x
定义为unsigned long
,然后必须
scanf("%lu %d", &x, &i);
同样的问题在这里:
printf("The %dth digit of the number %ul is %d\n", i, x, result);