putchar(x % 10 + '0');详解
时间: 2024-01-24 14:19:03 浏览: 11
这行代码的作用是将一个整数 x 的个位数输出到屏幕上,其中 '0' 是 ASCII 码中数字 0 的表示方式。具体解释如下:
首先,x % 10 取出 x 的个位数,因为一个数除以 10 的余数就是它的个位数。
然后,将个位数转换成 ASCII 码中对应的字符,这里使用了 '0' 加上个位数的值,得到的结果就是个位数对应的字符。
最后,调用 putchar 函数将字符输出到屏幕上。putchar 是一个 C 标准库函数,它的作用是将一个字符输出到标准输出设备,也就是屏幕或终端。
相关问题
void print(__int128 num) { if(num) { print(num/10); putchar(num%10+'0'); } }
这段代码是一个用于打印一个非负整数的函数。它使用递归的方式来打印整数的每一位数字。
首先,它判断num是否为0,如果不为0,则执行以下操作:
1. 调用print函数自身,将num除以10的结果作为参数,实现递归打印num的高位数字。
2. 使用putchar函数打印num模10的结果加上字符'0',实现打印num的个位数字。
通过不断地递归调用print函数,可以依次打印出整数的每一位数字。
需要注意的是,这段代码中的参数类型是__int128,它是一个特殊的整数类型,可以表示非常大的整数。而putchar函数用于将字符输出到终端。
如果你想使用这个函数,需要保证你的编译器支持__int128类型和putchar函数。
#include<iostream> using namespace std; void zhengbianzifu(int n) { if (n / 10 != 0) zhengbianzifu(n / 10); putchar(n % 10 + '0'); cout << endl; } int main() { int n; cin >> n; zhengbianzifu(n); cout << endl; } 这窜代码为什么输出是正的而不是反过来的
这段代码的输出结果是正序而不是反序的是因为在递归函数`zhbianzifu`中,先递归调`zhengbianzifu / 10)`将数字n除以10传入递归函数中然后再输出n对10取余加'0'的字符表示。
由于递调用是在输出完成的,所以每次递归调用会先处理更高位的数字,再处理低位的数字。这样就保证了输出结果是正序的。
如果希望输出结果是反序的,可以将递归用的位置放在字符输出之后,即先输出低位的数字再递归调用,这样就可以实现反序输出。以下修改后的代码示例:
```cpp
#include<iostream>
using namespace std;
void zhengbianzifu(int n)
{
putchar(n % 10 + '0');
if (n / 10 != 0)
zhengbianzifu(n / 10);
}
int main()
{
int n;
cin >> n;
zhengbianzifu(n);
cout << endl;
}
```
这样修改后的代码会实现反序输出。例如,输入12345,则输出54321。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)