c语言编写函数找出字符串中的所有数字,要求区分正负数
时间: 2024-01-21 07:18:52 浏览: 95
以下是一个简单的 C 语言函数,可以找出字符串中的所有数字并区分正负数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
void find_numbers(char* str) {
char* p = str;
int num;
while (*p) {
if (isdigit(*p) || ((*p == '+' || *p == '-') && isdigit(*(p+1)))) {
num = strtol(p, &p, 10);
printf("%d\n", num);
} else {
p++;
}
}
}
int main() {
char str[] = "The quick brown -12 fox +34 jumps -56 over 78 the lazy dog.";
find_numbers(str);
return 0;
}
```
这个函数使用了 `isdigit` 函数来判断字符是否是数字,使用了 `strtol` 函数来将字符串转换为整数。在判断到正负数符号时需要检查后面一个字符是否为数字,以区分正负数。
阅读全文
相关推荐










