Я не могу найти способ добавить в эту программу, чтобы написать "Hello, World!"
без удаления здесь каких-либо строк кода.
Учитывая, что вы не можете удалить какие-либо строки,вам нужно только добавить 2 строки кода к каждой из ваших modify_1
и modify_2
функций, чтобы (1) скопировать string-literals в вашмассив, а затем (2) измените первые символы из строчных в прописные, а затем просто вызовите modify_1
и modify_2
перед печатью.Например:
void modify_1 (char *c)
{
char *a_string = "hello";
strcpy (c, a_string); /* copy a_string to your array */
c[0] = c[0] + 'A' - 'a'; /* change 1st character to uppercase */
}
void modify_2 (char *c)
{
char *a_string = "world";
strcpy (c, a_string); /* same thing */
c[0] = c[0] + 'A' - 'a';
}
После внесения изменений вы просто вызываете функции перед оператором печати в main()
, например:
int main()
{
char str1[10];
char str2[15];
modify_1 (str1);
modify_2 (str2);
printf("%s, %s!\n", str1, str2);
}
Пример использования / Вывод
$ ./bin/modify_12
Hello, World!
См. Таблица ASCII и описание , чтобы понять, как происходит преобразование из строчных в прописные.