Моя программа должна печатать все ABC, но я вижу, что у меня проблемы с кодом. Как я могу это исправить? (без указателя на это время).Печать ABC - строка
Какая ошибка времени выполнения в коде и как его исправить?
Вот код:
// Elvis’s hip and happening ABC-printing code
#include <stdio.h>
#include <string.h>
#define NUM_ABC_LET 26
void makeABC(char abc[NUM_ABC_LET]);
int main() {
char abcString[NUM_ABC_LET] = "";
makeABC(abcString);
puts(abcString);
return (0);
}
void makeABC(char abc[NUM_ABC_LET]) {
char letter;
for (letter = 'a'; letter <= 'z'; letter++) {
strcat(abc, letter);
}
}
'char abcString [NUM_ABC_LET]' не будет достаточно большим, чтобы разрешить терминатор 'nul'. Вы * пытаетесь * конкатенировать 26 "букв", поэтому размер целевой строки должен быть как минимум 27. –
Что значит «что такое ошибка времени выполнения»? Почему ты не знаешь, что это? – usr2564301
«нет указателя на это время» - неправильное предположение. Вы вряд ли можете что-либо сделать в C с массивом без использования указателя. И вы должны сказать, какую ошибку вы получите и где! Узнать [ask]. – Olaf