проблема с русским языком на си. программа работет нормально если подставить английские буквы вместо русских в строку vowels. Помогите
#include <stdio.h>
#include <string.h>
#include <locale.h>
void ifcharinset(char c, char* vowels, char* setvowels);
int main() {
char str[100];
scanf("%[^\n]s", str);
char x[256] = "f ";
char y[] = " f";
strcat(str, y);
strcat(x, str);
strcpy(str, x);
printf("%s\n", str);
char vowels[] = {'а','е','ё','и','о','у','ы','э','ю','я', '\0'};
char setvowels[] = {'0','0','0','0','0','0','\0'};
int k = 0;
for (int i = 1; i < strlen(str); i++) {
if (str[i] != ' ' && str[i-1] == ' ')
k++;
if (str[i] != ' ' && str[i-1] == ' ' && k > 1 )
{
for(int ii = 0; ii < strlen(vowels); ii++)
{
if (setvowels[ii] == '0')
vowels[ii] = '0';
setvowels[ii] = '0';
}
}
if (str[i] != ' ')
{
ifcharinset(str[i], vowels, setvowels);
}
}
for (int i = 0; i < strlen(vowels); i++) {
if (vowels[i] != '0')
printf("%c ", vowels[i]);
}
return 0;
}
void ifcharinset(char c, char* vowels, char* setvowels)
{
for(int i = 0; i < strlen(setvowels); i++)
if (c == vowels[i])
{
setvowels[i] = '1';
}
}
выдает ошибку main.c:21:18: warning: multi-character character constant [-Wmultichar]
Источник: Stack Overflow на русском