C语言实现整数转字符串
#include <stdio.h> void intToString(int N,char arr[]){
//仅支持有符号4字节的int类型,范围-2147483648 - 2147483647
int i,j,flag;
char stack[]; //栈,int的最值最多10位
i=; //计数器
if (N<){
flag=; //N是负数
N=-N;
//把N转为正数,注意,如果N是-2147483648,那么N=-N的结果还是-2147483648
//因为-N表达式将-2147483648转为2147483648,而2147483648对于4字节int来说是溢出的,这个溢出的数又变成了-2147483648
//这时,程序会计算异常
//解决方法,可以在函数开始时加个if语句,将这个值排除或当作特例
}else{
flag=; //N是正数
}
while (N/!=){//说明N还不是一位数,继续拆
stack[i]=(char)(+N%); //字符的1 - 数字的1 = 48,N%10获取N的个位数,并把转换后的字符入栈
N=N/;
i++;
}
stack[i]=(char)(+N); //当循环结束,N必定是一个一位数
if (flag==){//如果N是负数,需要在字符串最前面加负号
arr[]='-';
for (j=i;j>-;j--){//将栈中的字符出栈,j=i+1是因为数组arr的0元素已经保存负号了
arr[i-j+]=stack[j];
}
arr[i+]='\0'; //添加字符串结束标志
}else{
for (j=i;j>-;j--){//将栈中的字符出栈
arr[i-j]=stack[j];
}
arr[i+]='\0';
}
} int main(){
char myarr[];
/* 测试 */
intToString(,myarr);
printf("%s\n",myarr);
intToString(-,myarr);
printf("%s\n",myarr);
intToString(,myarr);
printf("%s\n",myarr);
intToString(-,myarr);
printf("%s\n",myarr);
intToString(,myarr);
printf("%s\n",myarr);
return ;
}
运行截图:
C语言实现整数转字符串的更多相关文章
- C语言把整数转换为字符串
目录 1.把整数/长整数格式化输出到字符串 2.注意事项 3.版权声明 各位可能在网上看到用以下函数可以将整数转换为字符串: itoa(); //将整型值转换为字符串 ultoa(); // 将无符号 ...
- c语言实现整数转换为字符串——不考虑负数
#include <stdio.h> #include <string.h> #define MAX_LEN 16 #define ESP 1e-5 typedef int i ...
- 2407: C语言习题 整数转换成字符串
2407: C语言习题 整数转换成字符串 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 917 Solved: 416[Submit][Status] ...
- C语言中将数字转换为字符串的方法
C语言提供了几个标准库函数,可以将任意类型(整型.长整型.浮点型等)的数字转换为字符串.以下是用itoa()函数将整数转换为字符串的一个例子: # include <stdio. h># ...
- C语言学习笔记---3.字符串格式化输入输出
1.C语言字符串 字符串(character string)是一个或多个字符的序列,例如:"Zing went the strings of my heart!" C语言没有专门用 ...
- iOS开发系列--C语言之数组和字符串
概览 数组在C语言中有着特殊的地位,它有很多特性,例如它的存储是连续的,数组的名称就是数组的地址等.而在C语言中是没有String类型的,那么如果要表示一个字符串,就必须使用字符数组.今天主要就介绍如 ...
- Swift3.0语言教程使用URL字符串
Swift3.0语言教程使用URL字符串 Swift3.0语言教程使用URL字符串,和路径一样,URL其实也是字符串,我们可以将这些字符串称为URL字符串.本小节将讲解URL字符串的使用. 1.编码 ...
- Swift3.0语言教程使用路径字符串
Swift3.0语言教程使用路径字符串 Swift3.0语言教程使用路径字符串,路径其实是字符串的一种,我们称为路径字符串.本小节将讲解如何使用路径字符串. 1.组合路径 开发者可以将数组快速的组合成 ...
- Swift3.0语言教程替换子字符串
Swift3.0语言教程替换子字符串 Swift3.0语言教程替换子字符串,替换子字符串其实就是将字符串中的子字符串删除,然后再进行添加.为了让这一繁琐的过程变的简单,NSString提供了替换子字符 ...
随机推荐
- 【剑指Offer】面试题05.替换空格
题目 请实现一个函数,把字符串 s 中的每个空格替换成"%20". 示例 1: 输入:s = "We are happy." 输出:"We%20are ...
- 超低功耗Sub-1GHz性价比首选方案:CMT2300
关于超低功耗Sub-1GHz射频收发器,目前性价比方面CMT2300是一款大多客户的首选方案,不管是成本方面还是性能方面,都能大大的满足客户的需求.下面为大家讲解下CMT2300 这款Sub-1GHz ...
- 不得了的try catch
try catch:几乎所有语言都有这个语句 try { //可能会导致错误的代码 } catch (error) { //在错误发生时怎么处理 }finally { //即使报错始终执行 } 1. ...
- springboot整合mybatis与thymeleaf
1.创建springboot项目 (1)选择Spring Initializr (2)填写自己的Group 与 Artifact (3)选择依赖框架 等待maven下载好依赖和插件即可 2.主配置文件 ...
- ajax 跨域webapi 最简单的demo(只介绍Get)
这几天遇到一个nodejs的项目,使用VSCode开发,需要连接数据库的,但是用nodejs连接数据库比较繁琐,需要安装很多东西,本人也懒得去研究了.后来想到建一个WebAPI然后用ajax来调用,避 ...
- CSS position定位属性
css中的position属性是用于设置元素位置的定位方式 它有以下几种取值: static:默认定位方式,子容器在父容器中按照默认顺序进行摆放 absolute:绝对定位,元素不占据父容器空间,相当 ...
- 用Python在00:00给微信好友发元旦祝福语
2019年的元旦即将来临,这里用Python撸一串简单的代码来实现定点给微信里的所有小伙伴发祝福语 环境说明 Python版本: 不限 第三方库: itchat, schedule 注:所有祝福语来源 ...
- Kettle无法下载以及点击无反应的问题
最开始用于解决MySQL转移数据到ORACLE的问题,尝试了几种方法. 1.直接从Mysql导出csv文件.这种方式最直接简单,但是问题是数据大的话,容易出现数据对不齐的情况,导入这个时候就会出现错误 ...
- 文献阅读报告 - Social LSTM:Human Trajectory Prediction in Crowded Spaces
概览 简述 文献所提出的模型旨在解决交通中行人的轨迹预测(pedestrian trajectory prediction)问题,特别是在拥挤环境中--人与人交互(interaction)行为常有发生 ...
- 移动端H5开发遇到的问题及解决方法
本篇文章给大家带来的内容是关于移动端H5开发遇到的问题及解决方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 微信分享签名错误invalid signature vue单页应用hi ...