Je travaille sur un projet d'initiales dans lequel vous entrez un nom et imprime les initiales. Lorsque j'essaie de combiner les chaînes, elle renvoie Segmentation fault
au lieu des initiales.Le programme des initiales C a renvoyé "Erreur de segmentation"
#include <stdio.h>
#include <stdlib.h>
#include <cs50.h>
#include <string.h>
#include <ctype.h>
int main(void) {
printf("Name: ");
string name = GetString();
printf("\n");
int length = strlen(name);
string initials = "";
int arraylength = length + 1;
char string[arraylength];
string[0] = toupper(name[0]);
int count = 1;
for(int l = 1;l<=length;l++) {
if(name[l] == ' ') {
l++;
count++;
string[l] = toupper(name[l]);
}
}
count++;
string[count] = '\0';
for(int c = 0;c<=count;c++) {
strcat(initials, &string[c]);
}
printf("%s\n", initials);
}
Q: quelle est exactement cette "chaîne" dans votre programme? Pouvez-vous copier/psater la définition de 'string', et le prototype de 'GetString()' dans votre message? Et vous ne pouvez pas utiliser 'strcat()' avec une variable "char". – paulsm4
@ paulsm4 Rechercher le * cs50.h * Je ne pouvais pas le croire quand je l'ai vu hier. –