c语言 字符型转换成整型

来源:百度知道 编辑:UC知道 时间:2024/09/25 20:37:56
#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 * str)

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

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

比如char ch[] = "12345";

int num = atoi(ch)就是对的

不知道你要实现什么:
按你的程序,这样改:

#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);

}

#include <stdio.h>
#include <stdlib.h>

int main ()
{
int str;
char ch;
printf ("input :");