在char与int的强行转换中遇到的问题?
 #include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
    int a, b;
    int i = 0;
    char s[80];
    scanf_s("%d %d", &a, &b);
    while (a / b != 0)
        a /= 10;
    for (int i = 0; i < 80; i++) {
        s[i] = (a * 10) / b+48;
        a = (a * 10) % b;
    }
    printf("%s", s);
    return 0;
}

不知道为什么,输出的结果无论字符串长度有多大,结尾总有四个“烫”,请问这是为什么?

c

2个回答

烫 是因为没初始化 你改成下面试试

```int main()
{
int a=3, b=5;
int i = 0;
char s[80] = {'\0'};
scanf_s("%d %d", &a, &b);
while (a / b != 0)
a /= 10;
int l = sizeof(s) / sizeof(char*);
for (int i = 0; i < l; i++) {
int c = (a * 10) / b + 48;
sprintf(&s[i],"%d", (const char*)c);
a = (a * 10) % b;
}
printf("%s",s);
return 0;
}


char s[80];
修改为char s[81];
并且下面加上
memset(s, 0, 81);

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
char 和 int转换问题
很简单,但是就是不对,请大家看看;rnchar strTemp[10] = "11236678";rnint iTemp = 7;rnint jTemp;rnfor(jTemp=0;jTemp<10;jTemp++)rnrn if(strTemp[jTemp]==iTemprn rn .....//(1)rn rnrn就是不执行(1)处,为啥?
int 与 char 转换问题?
有个问题,请教一下:rnrnint inum=987654321;rnrn如何把它转换为char 类型,rn然后还需要从char 类型转换为int inum=987654321;rnrn请教一下,请给个例子,最好是一个转换函数,可以直接返回。rnrnrn
int和char转换的问题
比如char a[3]="0123" 其中的字符我想拿出来运算.例如0*100+1*00+2*1000+3*1000 然后把运算得到的值(比如是10),把它转化成char类型(比如b[]="10") ,我应该怎么编程呢?
关于char和int的转换的问题
#includernvoid main()rnrn int a;rn scanf("%c",&a);rn printf("%d,%c",a,a);rnrn这样输出的数是-858993567rn但是把scanf那一行改成a=getchar();rn结果就是正常的ASCLL码;rnrn但是如果把int改为char两种方法都ok,这是为什么呢?我原来以为int和char没有什么本质的区别,那是我哪里理解错了呢?
string int char转换问题。
[code=Java]rnString[] str = "aaa123","bbb456","7c8c9c";rn//如何提取数组中的数字? 抛弃字符.rn//char如何转换成int? int如何转换成char? 例如:rnint a = 2;rnchar c = (char) a;//c现在是一个符号. 如何才能是 2 ?rnrn[/code]
关于char 到int 的转换问题
#include rnusing namespace std;rnint main()rnrn char a=0xf7;rn int i=a;rn cout<
怎么转换char到int
function myid($datetime)rn $array1 = explode(" ",$datetime);rn $array2 = explode("-",$array1[0]);rn $array3 = explode(":",$array1[1]);rn $array2[3] = $array3[0];rn $array2[4] = $array3[1];rn $array2[5] = $array3[2];rn $array2 = implode("",$array2);rnrn return $array2;rn rn怎么把$array2变成INT型?
char和int转换
char和int的转换有两种方式 最简单的方法就是利用ASSCII码的差值,直接用char的值减去‘0’就行了 eg: char a = '9'; int a_ = a-'0'; 或者就用atof函数,直接将char转成float,float再转成int char b = '3'; int B = atoi(b); int b_ = static_cast&lt;int&gt;(at...
char 和 int类型的转换
char 如何转化为 int类型
char和int互相转换
char转int 我们char转int会根据我们不同字符生成一个十进制的数据 C#如下: Console.WriteLine((int)A); //我们会得到 65 Console.WriteLine((char)65); //我们会得到结果 A B:66 C:67 我们可以参考文章: ASCLL码对照表02(可显示字符) :https://blog.csdn.net/qq_36051316/a...
char[]如何转换int
char a[]="12346";rn如何将a[]转换为int x= 12345rn
char 到int的转换
char a[] = '1','2','3','4','5'; rnrnint b = (int)a[0]; rnrn这样不行啊,,,我要得到数字 1
char和int之间的转换
本课程从零开始,以通俗易懂的方式讲解Java入门,手把手教你掌握每一个知识点。n课程中使用的所有英文单词都会逐一查询并记录,真正做到零基础入门学习,最适合初学者的教程,让你少走弯路!课程内容包括:n1.变量简介n2.变量的使用n3.常用数据类型n4.类型转换n5.char和int之间的转换n6.使用Scanner获取用户输入
int 转换 char
rnchar c = 0xA0;rnif(c == -96)rnrnAfxMessageBox("为什么等于96而不是160?");rn
int 到unsigned char的转换???
在vc.net下调试,一变量int b,char c,当b>127时,无论怎么弄都不能弄到c里rn如c=(unsigned char)brn或.例b=129rnc=(unsigned char)b-127(c=2)rnc=c+127(c=0)rn郁闷!!rn干脆,c=129,调试(c=129)rn请指教啊
int和char的转换
char c[2];rn能存放最大的整数是多大?rnrn如何赋值?rnrn
求助char *到int的转换
我有两个数,16进制,放在Buf里面,高位和低位倒置了.rn然后我想要求得这两个数的差!我像下面这么做!有大大的问题!rnrnchar *Buf;rnint a=Buf[1]*256+Buf[0];rnint b=Buf[3]*256+Buf[2];rnint c=a-b;rnrn有时候这个a和b的值是对的,有时候又是错的,还错得很远.晕.
char和int的转换关系
大家都知道 char 是字符型类型,占用两个字节 可以存储一个汉字。另外特别的是 char 也是可以和int 类型互相转换的。 相信大家都碰到过下面这种情况: 一。将中文 “一” 转换成 int 类型,然后运行, 控制台得到的结果是 19968. int b = '一'; System.out.println(b); 19968 二。将数
vb char转换 int
Dim year_j As Integer rnrnSQL2 = ""rn SQL2 = SQL2 & " SELECT (max(to_char(to_date('1970','yyyy') + Daynumber/86400,'yyyy'))-min(to_char(to_date('1970','yyyy') + Daynumber/86400,'yyyy')))datetime2 "rn SQL2 = SQL2 & " FROM cc050006 "rn SQL2 = SQL2 & SQL_CONDrn SQL_COND2 = ""rn If txtVersionNo1.Text <> "" Thenrn SQL_COND2 = SQL_COND2 & " and VersionNo = '" & Trim(txtVersionNo1.Text) & "'"rn End Ifrn SQL2 = SQL2 & SQL_COND2rn rn year_j = datetime2rnrn为何datetime2别名取出来的值是0??
char和String和int的转换
Java中char是一个基本类型,而String是一个引用类型。有时候我们需要在它们之间互相转换。 String转换为char 在Java中将String转换为char是非常简单的。 使用String.charAt(index)(返回值为char)可以得到String中某一指定位置的char。 使用String.toCharArray()(返回值为char[])可以得到将包含整个String的c...
int和char怎么转换?
char ch = '1';rn如何把ch转换成1存到int型变量中呢?ascii码吗?还有有没有其他方法?rn
CString到char * 转换中遇到的一个问题
假如有一个CString strTemp="\sss\aaa",要转换为char * ptrTemp,我用rnptrTemp = strTemp.GetBuffer(strTemp.GetLength());rn调试的时候发现strTemp.GetLength()为0,是不是因为第一个字符是'\'的原因,这种情况如何解决?
请问INT和CHAR如何转换
比如在C中rnchar a='A';rna+1='B';rn在C#中这该怎么写?
进制转换(char和string转换int)
1.题目 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 ) 2.知识点 (1)Scanner的成员函数has或者hasnext可以用于持续输入 while(in.hasNextLine()){}(2)将char类型的数字直接转换成int,实际保存的是其ascll码,而不是数值。 (3)将字符串转换成整数Integer public sta
char 和 int 类型如何转换?
情况如下:rnrn int a;rn char arr[] = "123456";rnrn 比如我想取 arr[0]的值 '1',将它付给a;rnrn 应该如何操作?rnrn atoi()好像能操作数组,对于单个char 我还没弄懂。rnrn 还有就是逆向,int 如何转换成 char 类型呢?
请教:char[] unsigned int 转换
小弟初学crnrn想请问rn怎么把 char[] 12ab23dern转换成rnunsigned int 0x12ab23dern
阿拉伯数字int与string/char的转换
阿拉伯数字int与string的转换 string转int #include &lt; algorithm &gt; stor() 举例 string str = “89”; int i = stoi(str); int转string #include &lt; string &gt; to_string() string s = to_string(123); ...
关于数据类型的转换,char和int
switch(op)rn rn case '+' : m = atoi(s1) + atoi(s2); break;rn case '-' : m = atoi(s1) - atoi(s2); break;rn case '*' : m = atoi(s1) * atoi(s2); break;rn case '/' : m = atoi(s1) / atoi(s2); break;rn ;rnrn在上面的程序,s1和s2本来都是char型的,我在书上查了一下,想用atoi把它们转成int型的,但不行啊,谁能提供把char转成int的方法啊
C语言char和int的转换
//char 转 int char ch = '5'; int n= ch - '0'; //int 转 char int n=5; char ch=n+'0'; //以上是字符和整数的转换,若需要转换字符串和整数,使用itoa和atoi即可。sprintf也可以。
int与char数组及string转换
1、int与string类型互转string num2str(int i) { stringstream ss; ss << i; return ss.str(); }int str2num(string s) { int num; stringstream ss(s); ss >> num; return num; }int i = 0; i
char 和 unsigned 与int 之间的转换
char 和 unsigned 与int 之间的转换,并通过char 和 unsigned 转换成 int 的不同之处,思考char 与 unsigned char 的区别
int类型与char类型的转换
---------siwuxie095             Java对char类型的数据在底层是按int类型来处理的 (只是显示出来仍然是字符型)       1、int类型与char类型在赋值时自动转换    如:    package com.siwuxie095.test;    public class Test12 {
char 指针转换 int 指针
初学 c/c++ 碰上一个问题 rn贴上大致的代码rn#includernvoid test(char p[])rnvoid main(void)rnrn char ch[]=0x47,0x32,0x14,0x55;rn test(ch);rnrnvoid test(char p[])rnrn int *ip;rn ip=(int *)p//p是一个指针 存着字符数组ch的首地址 所以这么转应该没有问题吧?rn cout.setf(ios::hex);rn cout<<*ip<
byte、short、char和int的转换
从低级类型到高级类型的转换为自动类型转换,把高级数据类转赋值给低级数据类需要强制类型转换 (低)byte、short、char->int->long->float->double(高) 其中byte类型数据可以自动转换成short类型。 short类型数据和char类型数据之间相互转换只能强制类型转换,因为它们虽然内存占用相同但是表数范围不(short是-128~127,char是0~6553
【请教】【char*】【int】【转换】【sscanf】
eg:rn[code=c]char c_temp[] = "23,45,56...";//此处有n组int型,未知、每次都不确定,每组数用,隔开rnint i_temp = 0;rn//如何将数放入i_temp中?或者放入int型数组中。[/code]
初学者关于int转换char和short的问题?
[code=Java]rnpublic static void main(String[] args)rn rn int i = 32769 ;rn int k = 433 ;rn byte b = (byte)i ;rn char c = (char)k ;rn System.out.println(b) ;rn System.out.println(c) ;rn rn[/code]rn请问byte b为什么是1,具体是怎样转换的?char c输出为什么是个问号?请各位前辈解释清楚一点,谢谢
C语言char 和int转换的简单问题。
#includernrnmain()rnrnchar x = 0xff;rnprintf("%d",x);rnrnrnrnrnrn为什么输出结果是-1rnrn好像说是什么补码的问题百度了还是不理解。
随机字符 随机数 和 int转换char 问题
rn程序目的:产生两个随机字符rn我的期望过程: 随机生成两个随机数。 根据ASCII 码 把 随机数转换成 字符型rnrn结果:随机数不同。 但是转换成 字符型之后 却变得一样rnrn求解rnrnrn[code=C/C++]rnrn#include rn#include rn#include rn#include rn#include rn#include rnusing namespace std;rn// A~Z 65~90rn// a~z 97~122rnint main()rnrn srand (time(NULL));rn char * pwd;rn pwd = crypt("test", "ab"); //char *crypt(const char *key, const char *salt);rn // char * salt is a-z A-Z 0-9 ./rn // char * key is user typed in passwordrn cout <<"after crypt()= "<< pwd << endl;rn char word_1;rn char word_2;rn int num_1;rn int num_2;rn rn word_1 = (rand()%26)+'a';// always generate same valuern word_2 = (rand()%26)+'a';// 这里两个随机字符 总是相同rn rn num_1 = rand()%122+65;rn num_2 = rand()%122+65;rn while (word_1==word_2)// got different value 这里解决了随机数总是相同的问题rn rn word_2 = (rand()%26)+'a';rn rn rn word_1 = num_1;// 根据 ASCII 转换成char型 期望得 word_1 和 word_2 得到不同的字符rn word_2 = num_2;// 随机数不同了 但是这里得到的两个 char 字符 却又相同了rn rn cout << "random word_1= " << word_1 << endl;rn cout << "random word_2= " << word_1 << endl;rn cout << "random num_1= " << num_1 << endl;rn cout << "random num_2= " << num_2 << endl;rn cout << "int to char word_1= " << word_1 << endl; rn cout << "int to char word_2= " << word_1 << endl;rn return 0;rnrnrnrn[/code]rnrnrn
求助String,char与int的转换问题
我得到一道题目,要求输入4个英文字母,左右一个简单的string,然后将他变换成char,再改为int,然后将之平方,再变成char。 比如输入“abcd”,运行后就会得到“kjih”。rnrn我尝试自己写了java,但只写到一半rnimport javax.swing.JOptionPane;rn public class Assignment2 rn public static void main(String[] args) rn String word =rn JOptionPane.showInputDialog("Enter your four-letter word: ");rnchar[] code = word.toCharArray();rnrnint code2 = (int)code; \\[color=#FF0000]问题就是这里[/color]rnrnSystem.out.print(code2);rnrnrnrn说这个是不可转换的类型,这个应该怎样解决?rnrn以防我理解错误,原题在这~~rnWrite a Java program that encrypts a four-letter word. The word should be entered by thernuser as a single string using the JOptionPane class. Each letter in the word should bernreplaced by the Unicode character that is seven characters after it, and then the sequence ofrnletters should be reversed. The encrypted word should then be displayed in the terminalrnwindow. For example, the string “abcd” is encoded as “kjih” and the string “java” is encoded asrn“hhq”.
对int char 输入遇到的问题 的探讨
# include &amp;lt;stdio.h&amp;gt;//int char 输入容易出问题 下面的代码可以解决这个问题 # define N 10 //如果要录入X个字节则 N=X int Getchar(char A[],int min,int max);//直到用户输入的字符串长度在[min,max]之间时 函数结束 返回字符串A的长度 int gainint(int *p,int a,int ...
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件