请问既然有编译器做翻译,那字符串转整数函数还有什么?
发布网友
发布时间:2022-04-30 11:36
我来回答
共2个回答
热心网友
时间:2022-06-21 20:37
atoi("a") 是返回65
有时候我们需要对字符进行数值运算,比如密码 acd往后移三位,就是 65+2 67+2 68+2
你如果不把它转成数值运算,你说,acd如何转化成 cef呢??
1.强制数据类型转换
2.把字符转成ascii码来进行数值运算处理
一般是上面两条理由
热心网友
时间:2022-06-21 20:38
'0' ---叫字符常量,是1字节长度的整型常量。
0 -- 常数,4字节长度的整型常量。
单个字符种类很多,数值为 0 到255。 其中只有 字符 0,1,2,3,4,5,6,7,8,9 可以用 atoi 转为 数字 0,1,2,3,4,5,6,7,8,9。
字符串,可以含1个字符,也可以含很多个字符。字符串 "xyz" 就不能转化为“一个整数值”。
编译器 带的函数很多,用不用它们,取决于函数功能是否满足需要,使用是否方便,程序员是否乐意用它。
例如,字符char c="5" 转整数, 程序员可以用 x=c -'0';
例如,字符串 char s[]= "98765" 转整数,程序员可以用 sscanf(s,"%d",&x);
不一定要用 atoi();
省事不省事 -- 见仁见智,不可一概而论。