本文介绍了字符串转换为整数,而无需使用的atoi的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我多么字符串转换为整数,而无需使用来自参数的atoi给出?以下是我已经试过:
INT主(INT ARGC,CHAR *的argv []){
的for(int i = 1; I< ARGC,我++){
为const char * p =的argv [I]
INT J = 0;
而(ISDIGIT(* P)){
当J = J * 10 + *对 - 0;
p ++;
的printf(%d个\\ N,J);
}
}
}
由于某些原因,它裂开并重新添加。
$ ./a.out 55 6 50 66
五
55
6
五
50
6
66
解决方案
您要打印所有的中间结果。保存打印输出后,直到你完成while循环。
而(ISDIGIT(* P)){
当J = J * 10 + *对 - 0;
p ++;
}的printf(%d个\\ N,J);
How would I convert string to integer without using atoi from arguments given? Here's what I've tried:
int main(int argc, char *argv[]){
for(int i = 1; i < argc; i++){
const char *p = argv[i];
int j = 0;
while(isdigit(*p)){
j = j * 10 + *p - '0';
p++;
printf("%d\n", j);
}
}
}
For some reason, it's splitting apart and re-adding them again.
$ ./a.out 55 6 50 66
5
55
6
5
50
6
66
解决方案
You're printing all the intermediate results. Save the printout until after you've completed the while loop.
while(isdigit(*p)){
j = j * 10 + *p - '0';
p++;
}
printf("%d\n", j);
这篇关于字符串转换为整数,而无需使用的atoi的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!