该怎么把前导 0 去掉存储,给点思路,写下完整代码 osjsbdndoq
incl <stdio.h>
ide <stdlib.nclring.h>
n
int main() {
char s[1000], arr[1000];
int flag = 0, len, i;
- fgets(s, 1000, stdin); // 读取一行输入,包括空格
- len = strlen(s);
-
- for (i = 0; i < len; i++) {
- if (isdigit((unsigned char)s[i])) {
- arr += s[i]; // 这里需要修改为C语言的字符串操作
- flag = 1;
- }
- if (flag && (!isdigit((unsigned char)s[i]) || i == len - 1)) {
- while (arr[0] == '0' && strlen(arr) > 1) {
- arr[strcspn(arr, "\n")] = 0; // 移除前导零
- }
- flag = 0;
- printf("%s ", arr);
- arr[0] = '\0'; // 清空arr
- }
- }
我这样写有问题吗