自己写了一个atoi,大家看看
#include <stdio.h>int main()
{
int ch;
int num = 0;
printf("请输入待转换的字符串:");
while((ch = getchar()) != '\n') // 输入不等于'\n'时循环
{
if(ch >= '0' && ch <= '9') //判断输入的字符是否在 0 - 9之间
{
num = num * 10 + (ch - '0'); // 换算公式 为什么不把 num+(ch-‘0’)在乘10 接下
// 因为加了后再乘10 就会多了一位 我们要的是乘了再加
}
else // 如果字符不在0 - 9之间就退出循环
{
break;
}
}
if (num == 0) // 判断num中是否有计算后的值
{
printf("没有字符!! ");
}
printf("%d ", num);// 输出运算后的值
return 0;
}
楼主,知识共享精神值得表扬!感谢你的支持!
但是 ···
windows平台下,微软貌似不是这么定义的~~~ {:5_93:}
下边是MSDN给的备注:
楼主,可以标注什么平台,或者稍微修改一下程序。
支持共享精神!甲油甲油!! n0noper 发表于 2016-7-15 09:38
楼主,知识共享精神值得表扬!感谢你的支持!
但是 ···
可是我不明白 atoi函数要用do while 写啊用while 写不也行吗? qq1242009750 发表于 2016-7-15 10:56
可是我不明白 atoi函数要用do while 写啊用while 写不也行吗?
楼主从哪里看到的必须用 do... while写?
再说了,问题不在用哪种循环啊,在 条件判断处理啊···
页:
[1]