Je veux prendre une chaîne et la sortir sans espaces. J'ai écrit le code ci-dessous mais mon instruction if ne semble pas détecter les espaces dans la chaîne char ou je ne le fais pas correctement.Comment vérifier ma chaîne de caractères pour les espaces?
Je suppose que mon problème est dans mon instruction if mais je ne sais pas comment le réparer.
int main (void)
{
char s[50];
printf("Enter string:");
fgets(s,50,stdin);
for(int i = 0; i < strlen(s); i++){
if(&s[i] != " "){
printf("%c\n", s[i]);
}
}
return 0;
}
Sortie:
Enter string:xales was here
x
a
l
e
s
w
a
s
h
e
r
e
Remplacez 'if (& s [i]! =" ") {' Par 'if (s [i]! = '') {', Le premier ne correspond pas à ce que vous pensez probablement. – yeputons
'if (& s [i]! =" ") {' Comparer une adresse d'un caractère à un littéral de chaîne? Fonctionne, mais jamais susceptible d'être vrai ... Voir http://stackoverflow.com/questions/3683602/single-quotes-vs-double-quotes-in-c-or-c – John3136
@yeputons si vous écrivez cela comme répondez il le prend! Merci! – TheXales