1条回答 默认 最新
- 技术专家团-小桥流水 2021-10-29 23:04关注
Fun9函数中,j是static int,它的值一直增加。在Fun9(a,s)后再去计算Fun(a,C),Fun9(a,s)中的j会对Fun9(a,s)中的j产生影响。
所以在Fun(a,C)的时候,j并不是从0开始的,所以相当于C中前面的部分没有赋值。所以会出现烫烫烫
代码一:(这个函数实现逆序输出数字,比如n=123,输出的s是"321")void Funt9(int n,char s[]) { if(n==0) *s = 0; else { *s = '0'+ n%10; Funt9(n/10,s+1); } }
代码二:(正序输出,n=123,s输出"123")
#include <stdio.h> void Funt9(int n,char s[]) { int i,k; static int j = 0; char c; if(n == 0) { s[j] = 0; //这里实现字符串s的逆序,j是字符串s的长度 for(i=0,k=j-1;i<k;i++,k--) { c = s[i]; s[i] = s[k]; s[k] = c; } j = 0; //这里j置0,避免对下一次调用Funt9时产生影响。 }else { s[j] = '0'+ n%10; j++; Funt9(n/10,s); } } int main() { char s[10],C[10]; int a = 12345; int b =789; int j = 0; Funt9(a,s); //得到的s是正序输出 Funt9(b,C); printf("%s\n",s); printf("%s\n",C); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 请问有会的吗,用MATLAB做
- ¥15 phython如何实现以下功能?查找同一用户名的消费金额合并—
- ¥15 ARIMA模型时间序列预测用pathon解决
- ¥15 孟德尔随机化怎样画共定位分析图
- ¥18 模拟电路问题解答有偿速度
- ¥15 CST仿真别人的模型结果仿真结果S参数完全不对
- ¥15 误删注册表文件致win10无法开启
- ¥15 请问在阿里云服务器中怎么利用数据库制作网站
- ¥60 ESP32怎么烧录自启动程序,怎么查看客户esp32板子上程序及烧录地址
- ¥50 html2canvas超出滚动条不显示