c语言 字符型转换成整型

#include <stdio.h>
#include <stdlib.h>
void main ()
{
int str;
char ch;
printf ("input :");
ch=getchar();

str=atoi(ch);
printf ("str=%c\n",str);

}

为什么我这程序会弹出错误?

字符串转成整型可以使用atoi函数。

函数原型:int atoi(const char *nptr);

功能:把字符串转换成整型数。

参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零。

扩展资料:

整型转换成字符型

使用itoa函数。原型:extern char *itoa(int i);

参考代码:

#include<stdio.h>

#include<stdlib.h>

int main()

{

int a=125;

char b[50];   

printf("%s\n",itoa(a,b,10));//把10进制的125转成字符并输出。

return 0;

}

/*

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
楼上的,你的第一个程序应该会出错.

atoi函数的原型是

int atoi(const char * str)

你程序里输入是字符char,而不是字符串char *,所以不行。

而且你输入的字符串必须以\0结尾,否则也会出错

比如char ch[] = "12345";

int num = atoi(ch)就是对的本回答被提问者采纳
第2个回答  2019-10-28
了。
#include
<stdio.h>
void
main()
{
char
a='9';
int
b=a-'0';
//
int
b=a;如果这样写,b的值是57,就不对了。但是都转换为57这样的asc码也可以作为一种加密方式,是否这样操作就由你决定。
printf("%d\n",b);//这样输出的b为9,是整形的。
}
至于加密,规则没有规定,因为加密的时候只有规则是保密的才算是加密,所以没有统一规定,很简单的加密就是颠倒数字顺序,大写变小写,字符变代码(你也可以自己规定代码规则),加减数字,首末掉换。。。总之怎么弄的规则你来定。
第3个回答  2020-02-13
了。
#include
<stdio.h>
void
main()
{
char
a='9';
int
b=a-'0';
//
int
b=a;如果这样写,b的值是57,就不对了。但是都转换为57这样的asc码也可以作为一种加密方式,是否这样操作就由你决定。
printf("%d\n",b);//这样输出的b为9,是整形的。
}
至于加密,规则没有规定,因为加密的时候只有规则是保密的才算是加密,所以没有统一规定,很简单的加密就是颠倒数字顺序,大写变小写,字符变代码(你也可以自己规定代码规则),加减数字,首末掉换。。。总之怎么弄的规则你来定。
第4个回答  2008-05-04
不知道你要实现什么:
按你的程序,这样改:

#include <stdio.h>
#include <stdlib.h>
void main ()
{
int str;
char ch;
printf ("input :");
ch=getchar();

str=atoi(&ch);
printf ("str=%c\n",str);

}

字符型转换成整型,这样改:

#include <stdio.h>
#include <stdlib.h>
void main ()
{
int str;
char ch;
printf ("input :");
ch=getchar();

str=(int)ch;
printf ("str=0x%x\n",str);

}
相似回答