我有一串带有特定数字的字符,我需要在数组中找到它们的位置。我写了一个函数,它可以工作,但它只能找到一个元素的位置。请告诉我有什么问题。
int findPosEl(char str1[], int arrpos[], int &sizepos, int arr[], int size){
int el = INT_MIN;
char *token = strtok(str1, " ");
while (token!=NULL){
el = atoi(token);
for(int i=0; i<size; i++){
if (el == arr[i]){
sizepos ++;
arrpos[sizepos] = i;
}
}
token = strtok(NULL, " ");
}
}
我可以尝试创建一个新数组,将一串字符的元素分配给它,然后运行两个循环来查找元素,但我想在没有新数组的情况下这样做,这样代码会更小而且更简单。
如果你正在用 C++ 编写程序,使用它的标准库比使用 C 更容易:
这就是全部功能。目前尚不清楚您将如何确定未找到哪个号码。可以为此类返回一个值
size,然后在代码中删除以下行就足够了if()