要将数字字符串转换成整数并输出,你可以使用以下C语言代码:
```c
include include include include int str_validity = 0; int charnum_to_int(char *str) { int num = 0, i = 0; if (str == NULL) { str_validity = 1; return 0; } if (*str == '+') { i = 1; } while (*(++str)) { int num1; if (*str >= '0' && *str <= '9') { if (*str == '0' && num == 0) continue; else num = num * 10 + (*str - '0'); num1 = num; if ((num1 & (1 << 31)) < 0) { return INT_MAX; } } else { str_validity = 1; return 0; } } return num; } int main() { char str[] = "1234"; int num = charnum_to_int(str); if (str_validity == 0) { printf("%d\n", num); } else { printf("Invalid input string\n"); } return 0; } ``` 这段代码定义了一个函数`charnum_to_int`,它接受一个字符串参数`str`,并尝试将其转换为整数。如果字符串以`+`号开头,则从第二个字符开始转换。如果字符串包含非数字字符,则函数返回0,表示输入无效。如果转换过程中数值超过32位整数的范围,则返回`INT_MAX`。在`main`函数中,我们调用`charnum_to_int`函数并输出结果。