c - 如何使用 C 中的函数从字符串中仅提取数字?
问题描述
像往常一样,我试图提高我在 C 语言中的编码技能,所以我做了一个练习来练习。所以它说我应该向字符串输入一些值(必须有字母和数字),然后我必须使用函数从这个字符串中只提取数字并将结果输出到main
. 所以事实上,如果我输入 eg: sdasd5465
,它必须只输出5465
。
所以现在我确实编写了代码,但我无法解决一个问题。编译器在我的函数中向我显示了一个错误,它指向了我的其中一行myfucntion
并给出了一个错误:“下标值既不是数组也不是指针也不是向量”,指向这一行for(i=0; str[i];i++)
。这是代码,我真诚地希望我现在问的是正确的问题)
#include <stdio.h>
#define N 100
int main() {
char str[N];
printf("String, pls : ");
fgets(str,100,stdin);
myfunction(str);
printf("After extracting : ");
printf("%s\n",str);
}
void myfunction(char str){
int i;
int j = 0;
for(i=0; str[i] ;i++){
if(str[i] >= '0' && str[i] <= '9'){
str[j] = str[i];
j++;
}
}
str[j] = '\0';
}
解决方案
典型的运行指针算法。一个简单的新手函数可能如下所示:
void myfunction(char *str){
int outputidx = 0;
for (int inputidx = 0; str[inputidx] != '\0'; inputidx++) {
if (isdigit(str[inputidx])) {
str[outputidx] = str[inputidx];
outputidx++;
}
}
str[outputidx] = '\0';
}
推荐阅读
- laravel - URI 必须是字符串或 UriInterface
- javascript - 如何提取两个单词之间的句子并排除特殊字符
- django - 使用功能视图添加到购物车功能在 django rest 框架中不起作用
- c# - 如何在 .NET Core 中显示本地时区
- c++ - 即使指针的 cout 指向内存地址,也显示“取消引用 null ptr”的代码。_malloca 用于分配内存
- javascript - 角度验证出错
- r - 我需要在图表上找到置信区间我有一个对警察和种族有 2 列置信度的数据集
- javascript - 从表单外部重置 React Native Formik 表单
- excel - ExecuteExcel4Macro ,有没有办法通过索引而不是 Application.ExecuteExcel4Macro 中的名称来引用工作表
- c# - 从下拉列表 Select2 中的多个值中获取选定值