Я работаю над проектом инициалов, в котором вы вводите имя, и оно печатает инициалы. Когда я пытаюсь объединить строки, он возвращает Segmentation fault
вместо инициалов.C инициалы программы возвращены «Ошибка сегментации»
#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);
}
В: Что это за «строка» в вашей программе? Можете ли вы скопировать/psate определение для 'string' и прототип для' GetString() 'в ваш пост? И вы не можете использовать 'strcat()' с переменной «char». – paulsm4
@ paulsm4 Поиск * cs50.h * Я не мог в это поверить, когда увидел это вчера. –