数字字符
来源:互联网 发布:网络玄幻小说合集下载 编辑:程序博客网 时间:2024/05/22 00:41
今天做题遇到一个问题,代码如下:
#include<stdio.h>void f(int x,int y){ char res[10]={0}; int i=0,rem; do { rem = x%y; x=x/y; if(rem<10) { res[i]='0'+rem; }else{ res[i]='A'+rem-10; i++; }while(x!=0); i--; for(;i>=0;i--) { printf("%c",res[i]); } printf("\n"); } void main(void) { f(23,10); f(45,8); f(50,16); }
23
55
32
不明白为什么%c输出是数字,res[]是字符数组,而且运算也是与字符进行的,结果是数字字符才对….
测试如下:
输出结果为:2 97#include<stdio.h>int main(){ char a='2'; printf("%c\n",a); printf("%d\n",97); return 0;}
输出结果为:a 97#include<stdio.h>int main(){ printf("%c\n",'a'); printf("%d\n",97); return 0;}或:#include<stdio.h>int main(){ printf("%c\n",97); printf("%d\n",97); return 0;}
输出:?#include<stdio.h>int main(){ char a; printf("%c\n",a); printf("%d\n",97); return 0;}
c语言 字符型数字与数值型数字的转换
找到原因:/%c能够输出数字,因为该数字非数值数字,这个数字是ASCII码的值, 数字’0’ ~’9’用十进制表示就是48~57, (0x30~0x39)/
所以,输出结果就是几个数字字符,我们把它当成数字了
试了下用%d输出:
printf("%d",res[i]);
0 0
- 数字字符
- 字符数字转为整形数字
- 个位数字转字符
- 字符和数字转换
- 判断字符为数字
- 全角 半角 字符 数字
- 判断字符是不是数字
- 字符与数字!
- c# 数组 字符 数字
- js判断字符,数字
- 字符转成数字
- 数字转成字符
- 字符格式数字?
- 字符与数字转换
- 数字与字符转换
- MYSQL字符数字转换
- 罗马字符及数字
- 数字,字符,字符串
- [2017雅礼集训]day10 T2 数列 最长上升子序列
- TLD运动检测与目标跟踪详细介绍
- Swift3.0 信鸽推送
- 使用百度天气API实现自己的天气预报
- 日常训练 棋盘游走
- 数字字符
- Linux内存管理之进程创建的写时拷贝技术
- Gym
- BZOJ1036--树链剖分模板
- NSProxy学习
- angular2系列教程(四)Attribute directives
- android 开发时报错Unsupported major.minor version 52.0
- 图像分割任务中的尺度问题
- angular2系列教程(三)components