Aide! Je suis en train d'écrire un programme en C pour saisir toutes les initiales - Je ne sais rien de pointeurs permet donc d'essayer de rester loin de ceux - c'est ce que j'ai jusqu'à présent:Programme pour saisir les initiales de la chaîne (nom), Impossible de se débarrasser de TOUS les espaces
#include <stdio.h>
//CS50 Library for 'get_string() user input'
#include <cs50.h>
#include <string.h>
#include <ctype.h>
int main(void){
printf("Enter your name: ");
//User input for string
string s = get_string();
int i = 0;
//Determine whether the first chars are space - if not print char
if(s[0] != isspace(s[0])){
printf("%c",s[0]);
}
//loop through each Char - determine char is not space
while(s[i] != '\0'){
if(s[i] == ' '){
//if i'th char is space - add one to it thus printing char that comes after space
printf("%c", toupper(s[i+1]));
}
//advance i'th char count
i++;
}
printf("\n");
}
Quand je entrée « John Gerald Smith » le programme revient avec "JGB", mais si je tente d'entrer quelque chose comme: "John Smith Smith" (plusieurs espaces), il semble ne pas supprimer l'un des espaces. Je reçois toujours les initiales pour la sortie, mais je dois m'assurer qu'il n'imprime aucun espace du tout. S'il vous plaît aidez! Ce sont des devoirs, donc je ne m'attends pas à recevoir la réponse, mais si quelqu'un pouvait me donner des informations sur la façon de le faire, je l'apprécierais beaucoup. Merci!
Ne vous contentez pas regarder le caractère actuel, mais aussi si le caractère NEXT n'est pas un espace. Attention à la vérification des limites (ne pas dépasser la fin de la chaîne!) – meisen99