下列程序得到什么结果() #include <stdio.h> void sub(int x, int y, int *z) { *z = x - y; } int main() { int a,b,c; sub(10,6,&c); sub(8,c,&b); sub(c,b,&a); printf("%d %d %d\n", a,b,c); }
时间: 2023-12-03 09:03:19 浏览: 31
程序得到的结果为:`-2 -4 4`。
程序中定义了一个函数`sub`,它有三个参数:`x`、`y`和指向`z`的指针。函数的作用是将`x - y`的结果存储到指针`z`所指向的变量中。
在主函数中,先调用`sub(10,6,&c)`,将结果4存储到变量`c`中,然后调用`sub(8,c,&b)`,将结果-4存储到变量`b`中,最后调用`sub(c,b,&a)`,将结果-2存储到变量`a`中。最后输出`a`、`b`、`c`的值,即为`-2 -4 4`。
相关问题
修改#include<stdio.h>void sub(int n,int r) if(n>=r)sub(n/r,r); else printf("%d",n):printf("%d",n%r); int main0 sub(37,5);
这段代码存在一些语法错误,无法通过编译。我来指出其中的问题并进行修改:
```c
#include <stdio.h>
void sub(int n, int r) {
if (n >= r) {
sub(n / r, r);
} else {
printf("%d", n); // 将 : 修改为 ;
}
}
int main() { // 将 0 修改为 ()
sub(37, 5);
return 0;
}
```
修改后的代码中,`sub()` 函数的语法错误已经被修复:在打印 `n` 时,将 `:` 修改为 `;` 即可。此外,`main()` 函数的语法错误也被修复:将 `0` 修改为 `()` 即可。
该程序的主要功能是将十进制数 `37` 转换为 `5` 进制并输出。在 `sub()` 函数中,通过递归的方式将十进制数转换为 `5` 进制,并在最后一次递归时将每一位的值输出到控制台上。
具体实现上,`sub()` 函数中先判断当前的十进制数 `n` 是否大于等于 `r`(即进制数),如果是,则将 `n` 除以 `r` 并递归调用 `sub()` 函数;否则,直接将 `n` 输出到控制台上。每次递归调用都相当于将 `n` 转换为 `r` 进制的一位,并将其输出。因此,最终输出的结果是 `37` 的 `5` 进制表示,即 `142`。
输出#include <stdio.h>void sub(int n, int r) { if (n >= r) { sub(n / r, r); } else { printf("%d", n);}printf("%d",n%r); }int main() { sub(37, 5); return 0;}
如果将 `sub()` 函数中的两次输出语句合并为一行,则输出结果为 `72`。
修改后的程序如下:
```c
#include <stdio.h>
void sub(int n, int r) {
if (n >= r) {
sub(n / r, r);
} else {
printf("%d", n);
}
printf("%d", n % r);
}
int main() {
sub(37, 5);
return 0;
}
```
在 `sub()` 函数中,当十进制数 `n` 小于进制数 `r` 时,将 `n` 输出到控制台上,然后将 `n` 对 `r` 取余的结果也输出到控制台上。因此,输出结果为 `72`,即 `37` 的 `5` 进制表示。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)