Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何用一个只接受C中字符的函数来显示整数?_C_Char_Int - Fatal编程技术网

如何用一个只接受C中字符的函数来显示整数?

如何用一个只接受C中字符的函数来显示整数?,c,char,int,C,Char,Int,我会尽我最大的努力解释我的问题到底是什么。我目前正在上一门嵌入式系统课程,我真的在为项目的这一部分而挣扎。我有一个小STM32板与一个简单的LCD屏幕连接到它。我已经编写了一个函数,它将获取一个字符并将其写入LCD。现在,我经常使用这个函数来写char,但是有一种情况,我需要在屏幕上写一个介于0和99之间的int。int变量总是在变化,因为当用户按下电路板上的按钮时,它基于计时器中的值。这件事困扰了我好几个小时,我真的需要一些帮助。我已经给老师发了电子邮件,但他没有回复。非常感谢您的帮助 另外,

我会尽我最大的努力解释我的问题到底是什么。我目前正在上一门嵌入式系统课程,我真的在为项目的这一部分而挣扎。我有一个小STM32板与一个简单的LCD屏幕连接到它。我已经编写了一个函数,它将获取一个字符并将其写入LCD。现在,我经常使用这个函数来写char,但是有一种情况,我需要在屏幕上写一个介于0和99之间的int。int变量总是在变化,因为当用户按下电路板上的按钮时,它基于计时器中的值。这件事困扰了我好几个小时,我真的需要一些帮助。我已经给老师发了电子邮件,但他没有回复。非常感谢您的帮助

另外,我的老师已经给我提供了LCD_write函数,所以我不能只创建一个接受int的版本


如果我没有提供足够的详细信息,请告诉我。

您只需要将int转换为两个字符:

char ch0 = i % 10 + '0'; // convert least significant digit to char
char ch1 = i / 10 + '0'; // convert most significant digit to char

注意:这假设您可以保证int始终在0..99范围内

你的意思是你有一个打印字符的函数,而现在你在基于小学数学的基础上连续两次调用它时遇到了问题?你尝试了什么?谢谢你的冷嘲热讽和无益的回应。下面的那个家伙确实帮了忙。我自己很难弄明白他在下面说了些什么。显然,这需要改进以支持<0或>99的值,但总体思路很清楚。@LittledV:OP说int在0到99之间。别担心,我现在在答案中添加了一条关于int范围的注释。谢谢,伙计,这帮了我的忙。我本来应该能够自己弄明白的,但在盯着代码看了几个小时后,事情开始变得很难弄明白了,哈哈。在我写了这篇文章之后,我也意识到我的实际整数范围是-1000到1000,但我能够适应这项工作。