與我的程序一樣,我需要將包含的數字返回到字符串中 我的程序似乎可行,但可以肯定的是,我需要顯示數字。事情是,它看起來像它被困在ascii 例如,如果我的號碼是12,我只能顯示1068 我希望提示能夠顯示(與printf或寫函數)包含在字符串「 abcd12" 。 總之,這裏是我的程序(通常至極顯示NBR,每次迭代迭代,而他最終值的值到主):將字符串轉換爲整數
int my_getnbr(char const *str) {
int i = 0;
int nbr;
int power = 1;
while (str[i] != '\0') {
if (str[i] <= '9' && str[i] >= '0') {
nbr = nbr * power + str[i] + '0';
printf("%d\n", nbr);
power = power * 10;
}
i++;
}
return (nbr);
}
int main() {
int nbr;
nbr = my_getnbr("abcd12");
printf("nbr = %d\n", nbr);
return (0);
}
這表現出未定義的行爲,因爲'nbr'永遠不會被初始化。 – hnefatl
'int nbr = 0; ... nbr = nbr * 10 +(str [i] - '0');'減去''0''(不需要'power') – chux
你把'+'0''代替了' - '0 「'。投票結束爲錯字。 – dasblinkenlight