【发布时间】:2021-11-20 09:38:47
【问题描述】:
函数的目的是取一个数字并翻转它,这意味着如果数字是 1024,它将返回 4201...
创建函数后,我尝试调用它并检查它是否真的在工作,但是在调试时它似乎只是跳过了函数并打印了 1024。
我的问题是什么?
在顶部您可以看到该函数,在底部有 main(),我也在这里调用该函数。
unsigned long reverse(unsigned int x)
{
int current, newX = 0, i = 1;
while (x != 0)
{
current = x % 10;
x = x / 10;
newX = newX * 10 + current;
}
return newX;
}
int main()
{
unsigned int x;
printf("Enter number\n");
scanf_s("%d", &x);
reverse(x);
printf("%d", x);
return 0;
}
【问题讨论】:
-
你用什么语言写的? C 和 C++ 是两种不同的语言。它们有一些相似之处,您的代码可能是两者中的任何一个,但这只是因为您遗漏了包含,最新添加它们时它是 C 或 C++,而不是两者
-
你应该返回
newX -
c++ != c,甚至不相似,不要混淆它们 -
@463035818_is_not_a_number OP在评论中澄清它是C。但是,一旦以其中一种语言发布了答案,我们通常不会删除任何一个标签,因为这会使那些现有的答案过时。可以说,没有先弄清语言就回答的人只能怪自己。详细信息可以在 C 或 C++ 标签 wiki 下方的标签使用中找到。
-
不要在问题标题后面或文本中的任何位置添加
(SOLVED)。并且不要将问题中的代码更改为正确的。如果答案完全解决了您的问题,请接受该答案,或者编写您自己的答案并接受它。或者,如果您认为这只是一个错字,您也可以考虑删除您的问题。
标签: c++ c visual-studio function