c语言 字符型转换成整型 C语言字符转换成整形的方法是什么?

C\u8bed\u8a00\u4e2d \u5b57\u7b26\u4e32\u5982\u4f55\u8f6c\u4e3a\u6574\u578b\u6570\u503c

\u5728C\u8bed\u8a00\u4e2d\u5c06\u5b57\u7b26\u4e32\u8f6c\u5316\u6210\u6574\u578b\u6709\u4e24\u79cd\u65b9\u6cd5\u3002
1 \u7528atoi\u51fd\u6570\u3002
atoi\u7684\u529f\u80fd\u5c31\u662f\u5c06\u5b57\u7b26\u4e32\u8f6c\u4e3a\u6574\u578b\u5e76\u8fd4\u56de\u3002\u5176\u58f0\u660e\u4e3a
int atoi(char *str);
\u6bd4\u5982atoi("1234");\u4f1a\u8fd4\u56de\u6574\u578b1234\u3002
\u8981\u8c03\u7528atoi,\u9700\u8981\u5f15\u7528\u5934\u6587\u4ef6stdio.h

2 \u7528sscanf\u3002
sscanf\u4e0e\u6807\u51c6\u683c\u5f0f\u5316\u8f93\u5165\u51fd\u6570scanf\u7c7b\u4f3c\uff0c\u4e0d\u8fc7\u6e90\u5e76\u975e\u662f\u6807\u51c6\u8f93\u5165\uff0c\u800c\u662f\u5b57\u7b26\u4e32\u3002
\u7528sscanf\u53ef\u4ee5\u5904\u7406\u66f4\u590d\u6742\u7684\u5b57\u7b26\u4e32\u3002
\u6bd4\u5982\u5b57\u7b26\u4e32char * str = "a=1, b=2";
\u5b9a\u4e49int a,b;\u540e
\u53ef\u4ee5\u7528
sscanf(str,"a=%d, b=%d",&a,&b);
\u6765\u5c06a,b\u503c\u63d0\u53d6\uff0c\u8ba1\u7b97\u540e\uff0ca=1, b=2\u3002
\u8981\u4f7f\u7528sscanf\u540c\u6837\u9700\u8981\u5f15\u7528\u5934\u6587\u4ef6stdio.h\u3002

\u8f6c\u6362\u6709\u4e24\u79cd\u65b9\u6cd5\uff1a
\u3000\u3000\u7b2c\u4e00\u79cd\u7528\u201catoi\u201d\u7684\uff1a\u3000\u3000#include "stdio.h"\u3000\u3000#include "stdlib.h"\u3000\u3000#include "conio.h"\u3000\u3000void main()\u3000\u3000{\u3000\u3000char str[1024] = {0};\u3000\u3000int Interger;\u3000\u3000printf("\u8f93\u5165\u4e00\u4e2a\u6570\u5b57\uff1a\n");\u3000\u3000scanf("%s", str);\u3000\u3000Interger = atoi(str);\u3000\u3000printf("\u8f6c\u6362\u4e3a\u6574\u5f62\uff1a%d\n", Interger);\u3000\u3000getch();\u3000\u3000}\u3000\u3000\u7b2c\u4e8c\u79cd\uff1a\u3000\u3000#include "stdio.h"\u3000\u3000#include "stdlib.h"\u3000\u3000#include "conio.h"\u3000\u3000void main()\u3000\u3000{\u3000\u3000char str[1024] = {0};\u3000\u3000int Interger;\u3000\u3000printf("\u8f93\u5165\u4e00\u4e2a\u6570\u5b57\uff1a\n");\u3000\u3000scanf("%s", str);\u3000\u3000sscanf(str, "%d", &Interger);\u3000\u3000printf("\u8f6c\u6362\u4e3a\u6574\u5f62\uff1a%d\n", Interger);\u3000\u3000getch();\u3000\u3000}

字符串转成整型可以使用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
",itoa(a,b,10));//把10进制的125转成字符并输出。

return 0;

}

/*



楼上的,你的第一个程序应该会出错.

atoi函数的原型是

int atoi(const char * str)

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

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

比如char ch[] = "12345";

int num = atoi(ch)就是对的

了。
#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,是整形的。
}
至于加密,规则没有规定,因为加密的时候只有规则是保密的才算是加密,所以没有统一规定,很简单的加密就是颠倒数字顺序,大写变小写,字符变代码(你也可以自己规定代码规则),加减数字,首末掉换。。。总之怎么弄的规则你来定。

了。
#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,是整形的。
}
至于加密,规则没有规定,因为加密的时候只有规则是保密的才算是加密,所以没有统一规定,很简单的加密就是颠倒数字顺序,大写变小写,字符变代码(你也可以自己规定代码规则),加减数字,首末掉换。。。总之怎么弄的规则你来定。

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

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

}

扩展阅读:字符串型转为整型 ... c++字符型 ... 字符型强制转换为整型 ... c语言 整型转字符串 ... 整型实型字符型 ... 运算符&& ... 字符转换 ... python整型转换成字符型 ... c语言怎么把整型换成字符 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网