我的老师给了我们一个作业,我们创建一个函数来读取 ASCII 数字字符并将它们转换为数字,而无需使用任何库函数,例如 atoi
。通过一些研究,我在自己的文件中提出了这个:
#include <stdio.h>
#include <sttdef.h>
int main() {
char testString[] = "123";
int convertedResult = 0;
int i;
for(i = 0; testString[i] != '\0'; i++){
convertedResult = convertedResult*10 + testString[i] - '0';
printf("%i\n",convertedResult);
if (testString[i] == '\0') {
break;
}
}
return 0;
}
虽然这可以单独使用,但我必须使用他给我们的主文件来调用这个特定的函数。
char *asciiToInteger(char *inputString, int *integerPtr) {
return inputString;
}
我对如何从这里开始感到有点困惑?附图为主
最佳答案
#include <stdio.h>
#include <stddef.h>
char * asciiToInteger(char *inputString, int *integerPtr){
int convertedResult =0;
for(int i = 0; inputString[i] != '\0'; i++){
convertedResult = convertedResult*10 + inputString[i] - '0';
}
*integerPtr=convertedResult;
return inputString;
}
int main() {
char testString[] = "123";
int integerPtr;
asciiToInteger(testString, &integerPtr) ;
printf("%d\n",integerPtr);
return 0;
}
关于c - 不使用库函数的 Ascii 到整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55020929/