我有以下程序将字符串整数转换为整数,但是如果字符串同时包含字母数字,我该如何转换为整数?
这是我的代码片段:
#include <stdio.h>
int convstrg(const char* str) {
int output = 0;
char* p = str;
for (;;) {
char c = *p++;
if (c < '0' || c > '9') {
break;
output *= 10;
output += c - '0';
} else {
output = 0;
}
return output;
}
}
int main() {
printf("%d\n", convstrg("aaa"));
return
0; }
当输入为“100”时,我得到 100 作为输出,但是当它包含“a201”时,我得到空结果,而是应该返回 201 并输入任何非数字字符。谢谢