У меня есть строка, содержащая 12 символов, и вы хотите преобразовать ее в int или мы можем сказать цифру, но не можем ее сделать. Я написал код, который преобразует строку до 11 цифр, но после этого начинает давать значение для мусора. мой код, какпреобразовать строку в int в c
#include<stdio.h>
double myAtoi(char *str);
void main()
{
double n;
double m;
char* a="12345678912";
char* b="34";
n=myAtoi(a);
//m=atoi(b);
printf("\nconversion is : %d",(n));
}
double myAtoi(char *str)
{
printf("\nstr : %s",str);
long res = 0; // Initialize result
long i ;
// Iterate through all characters of input string and update result
for (i = 0; str[i] != '\0'; ++i)
{
res = res*10 + str[i] - '0';
printf("\n res : %d",res);
//x=res;
}
return res;
}
Ответ на C++ будет радикально отличаться. Вы уверены, что хотите этого? Если нет, то как C++ относится к этому вопросу? – user2079303
Пожалуйста, открепите свой код. – Lundin
Я подозреваю, что вы имеете в виду 'return res;', поскольку в этом коде ничего не сказано «x». И ваша строка формата 'printf' неверна, поэтому вы, вероятно, напечатаете мусор, даже если исправите это. – molbdnilo