Problem C: 程序改错(递归函数):数字转字符

Description

下面程序中“/ ***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。 该程序功能:用递归法将一个六位整数n转换成字符串,例如输入123456,应输出字符串"123456"。 #include void itoa(long i,char s) { if(i==0) return; /***** 1 */ s = ‘1’+i%10; itoa(i/10,s-1); } void main() { long n; char str[7]=""; scanf("%ld",&n); / 2 ******/ itoa(n,str+6); printf("%s",str); }

Input

输入一个六位正整数n。

Output

把该整数转换成对应字符串。

Sample Input

123456

Sample Output

123456

.
.
还是一样 原题改了之后 改int main() return 0;
在这里插入图片描述

代码实现

#include<stdio.h>
void itoa(long i,char *s)
{
    if(i==0)
        return;
    *s = '0'+i%10;
    itoa(i/10,s-1);
}
int main()
{
    long n;
    char str[7]="";
    scanf("%ld",&n);
    itoa(n,str+5);
    printf("%s",str);
    return 0;
}
发布了149 篇原创文章 · 获赞 14 · 访问量 9000

猜你喜欢

转载自blog.csdn.net/weixin_45485719/article/details/103476796