C 不使用atoi将字符串转换为整数
如果不使用给定参数中的atoi,如何将字符串转换为整数?以下是我尝试过的:C 不使用atoi将字符串转换为整数,c,string,integer,C,String,Integer,如果不使用给定参数中的atoi,如何将字符串转换为整数?以下是我尝试过的: 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++;
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);
}
}
}
您正在打印所有中间结果。保存打印输出,直到完成while循环
while(isdigit(*p)){
j = j * 10 + *p - '0';
p++;
}
printf("%d\n", j);
#包括
#包括
使用名称空间std;
int main()
{
//字符名[1000];
//cin>>名称;
字符名[]=“123456”;
int数据、结果、输出、基础;
//挥发性内特碱基;
//int-Base;
数据=1;结果=0;基=strlen(名称);
而(基数>=1)
{
基地--;
输出=toascii(名称[基])-48;
输出=输出*数据;
结果=结果+输出;
数据=数据*10;
}
std::coutprintf(“%d\n”,j);
移动到while循环之后。
while(isdigit(*p)){
j = j * 10 + *p - '0';
p++;
}
printf("%d\n", j);
#include<iostream>
#include<string>
using namespace std;
int main()
{
//char name[1000];
//cin>>name;
char name[]="123456";
int data, result, output,Base;
//volatile int Base;
//int Base;
data=1; result=0; Base=strlen(name);
while (Base>= 1)
{
Base--;
output=toascii(name[Base])-48;
output=output*data;
result= result+output;
data=data*10;
}
std::cout<<"this is the string you enterd"<<name<<"integer is"<<result;
return 0;
}