#include <stdio.h> #include <string.h>

int Yuan_Word(char s[]) { for (int i = 0; s[i] != '\0'; ++i) { if(s[i] == 'A' || s[i] == 'a' || s[i] == 'E' || s[i] == 'e' || s[i] == 'I' || s[i] == 'i' || s[i] == 'O' || s[i] == 'o' || s[i] == 'U' || s[i] == 'u') { s[i] = '*'; } } puts(s); return 0; }

int main() { char a[32] ={"abcdef"}; Yuan_Word(a); puts(a); return 0; }

这个代码需要修改的地方有两个:

  1. 函数 Yuan_Word 的返回值类型应该是 int,但是没有 return 语句。可以给函数加上 return 0 语句。

  2. 函数 Yuan_Word 中的 if 语句判断条件有误,应该使用逻辑或运算符 ||,而不是逻辑与运算符 &&。应该是:

    if(s[i] == 'A' || s[i] == 'a' || s[i] == 'E' || s[i] == 'e' || s[i] == 'I' || s[i] == 'i' || s[i] == 'O' || s[i] == 'o' || s[i] == 'U' || s[i] == 'u')

修改后的代码如下:

#include <stdio.h> #include <string.h>

int Yuan_Word(char s[]) { for (int i = 0; s[i] != '\0'; ++i) { if(s[i] == 'A' || s[i] == 'a' || s[i] == 'E' || s[i] == 'e' || s[i] == 'I' || s[i] == 'i' || s[i] == 'O' || s[i] == 'o' || s[i] == 'U' || s[i] == 'u') { s[i] = '*'; } } puts(s); return 0; }

int main() { char a[32] ={"abcdef"}; Yuan_Word(a); puts(a); return 0; }

C语言代码分析:将字符串中的元音替换为星号

原文地址: https://www.cveoy.top/t/topic/nc9Z 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录