c - 字符数组中的递归函数,用于在数组的前 3 个元素中查找辅音

标签 c function recursion

为了更清楚,在数组的前三个元素(字符)中搜索并找到辅音并将其放在第一个元素上。例如,我们将采用一个字符数组 A[] 。 前三个元素是 A[i], A[i+1], A[i+2] ,如果辅音在 A[i+1] 上,则应该移动到 A[i] 那是 A[i]=A[i+1] ...很难解释它,但希望你们明白我的意思。

#include <stdio.h>

#include <string.h>

#include <ctype.h>


int changeup(char* a[],int k,int j, int x)

{

int i=0;


  if(*a[k]!='a' || 'e' || 'i' || 'o' || 'u')

  a[x]=a[k];

  return changeup(a,k++,x++,j++);

  if(*a[j]!='a' || 'e' || 'i' || 'o' || 'u')

  a[x]=a[j];

  return changeup(a,k++,x++,j++);

   if(*a[x]!='a' || 'e' || 'i' || 'o' || 'u')

    return changeup(a,k++,x++,j++);

    else {

        return;
    }

   int main (void)

   {

    char * a[5];

    int i=0,j,k,x,n;

    char* p;


    n=sizeof(a)/sizeof(a[0]);

     k=i+2;

        j=i+1;

        x=i;


    *p=changeup(a,k,j,x);

    for(i=0;i<n;i++){


    printf("%s",a[i]);

   }

    return 0;

   }






   }

最佳答案

您也许可以使用此元音测试功能。

#include <ctype.h>

//return 1 if ch is a vowel
int vowel (int ch) {
    int chl = tolower(ch);
    return (chl=='a' || chl=='e' || chl=='i' || chl=='o' || chl=='u');
}

...

if (!vowel(a[k])) {    // if a consonant
    ...
}

关于c - 字符数组中的递归函数,用于在数组的前 3 个元素中查找辅音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27826997/

相关文章:

recursion - 谁能解释一下 prolog 使用这个递归程序执行的步骤吗?

class - 递归函数和类中的 Raku 类型约束

c - 在子函数中分配和初始化结构数组

c - 如何在 Windows 上用 C 编写 unicode hello world

c++ - 如何将此结构传递给可用函数?

c++ - 拦截应用程序对 DLL 的函数调用

c程序函数无法正常工作

Lambda 和递归的 java.lang.StackOverflowError 问题

c++ - Tmax(0x7fffffff) 的一个奇怪问题,为什么 (!x) == x?

c++ - 为什么 wcslen 在 argv[1] 上计算 1 个额外字符?