如何识别用户输入的字符串中的所有元音

时间:2017-02-13 19:24:31

标签: c string

输入字符串后出现一些奇怪的错误。任何帮助,将不胜感激。到目前为止我所拥有的:

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

void main()
{
    int i;
    char line[100];

    printf("Enter a string: \n");
    gets(line);

    for (i = 0; line[i] != '\0'; i++)
    {
        if (line[i] == 'a' || line[i] == 'e' || line[i] == 'i' || line[i] == 'o' || line[i] == 'u' || line[i] == 'A' || line[i] == 'E' || line[i] == 'I' || line[i] == 'O' || line[i] == 'U')
        {
            puts(line[i]);
        }
    }
    system("pause");
}

1 个答案:

答案 0 :(得分:1)

void main()不是有效的切入点。你可能意味着int main(void)

line[i]中的

puts(line[i]);不是char *,更不用说指向字符串的指针了;这只是一个角色。这很可能会导致问题。

system("pause");对最终用户来说很烦人,非便携且有潜在危险。在插入时,考虑使用IDE在return 0;语句上放置断点。这样,您的最终用户不会被脚本中不必要的暂停,未知命令的错误消息或更糟糕的安全漏洞所困扰,因为恶意 pause.sh 被放置在某处...