C //练习 4-12 运用printd函数的设计思想编写一个递归版本的itoa函数,即通过递归调用把整数转换为字符串。

C程序设计语言 (第二版) 练习 4-12

练习 4-12 运用printd函数的设计思想编写一个递归版本的itoa函数,即通过递归调用把整数转换为字符串。

注意:代码在win32控制台运行,在不同的IDE环境下,有部分可能需要变更。
IDE工具:Visual Studio 2010
代码块:
c 复制代码
#include <stdio.h>
#include <stdlib.h>

void itoa(int n, char s[]){
	static int i = 0;
	
	if(n < 0){
		s[i++] = '-';
		n = -n;
	}
	if(n / 10){
		itoa(n / 10, s);
	}
	s[i++] = n % 10 + '0';
	s[i] = '\0';
}

int main(){
	int n = -2356;
	char s[60];
	itoa(n, s);
	printf("%s\n", s);

	system("pause");
	return 0;
}
相关推荐
程序员老陆4 分钟前
从语法糖到类型系统:深度拆解 C++ Lambda 与可调用对象的“血缘关系”
开发语言·c++·程序设计
(Charon)5 分钟前
【C++面试】设计模式:手写单例模式与工厂模式
开发语言·c++
估值探索者6 分钟前
【Python量化系统工程实战 #01】数据存储选型 CSVSQLiteMySQL 对比与 SQLite 实战建库
开发语言·jvm·python·sqlite·api接口·数据api接口·股票数据api接口
海绵宝宝转agent7 分钟前
Leetcode100 二叉树的中序遍历
java·算法
根目录下的猫13 分钟前
ROS 2 C++(rclcpp)版本,实现话题订阅、话题发布,以及完整编译运行流程
开发语言·c++·算法
сокол26 分钟前
【Python-基础-环境搭建】Ubuntu Python 开发环境搭建:编译、pipenv、pyenv、远程连接
开发语言·python·ubuntu
大侠归来2 小时前
C 语言 | 在函数中操作数组
c语言·c++·算法
liangshanbo12152 小时前
JavaScript 面试题:Object.keys() 的返回顺序是无序的吗?
开发语言·javascript·ecmascript
怕浪猫7 小时前
GEO 优化到底是什么?AI时代内容创作者必须懂的新技能
算法·面试·github
朝朝辞暮i8 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法