Задать вопрос

Как присвоить строку перемененной типа char[]?

Я изучаю C (СИ) первую неделю, но все так и непонятна ода деталь. Можете помочь?

Как присвоить какое либо значению перемененной типу чар,я пробовал так:
0b6f4b33aa294f26af39d7b5b12478f2.PNG
  • Вопрос задан
  • 3704 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
char s1[7] = "hello";

Ошибки:
  1. Строки нужно заключать в двойные кавычки, а символы в одинарные: 'h', но "hello".
  2. Массивы и строки нельзя присваивать. Исключение составляет инициализация.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@plartem
В одинарных кавычках пишется символ, в двойных строка.
Ответ написан
Комментировать
heksen
@heksen
В данном случае вы создали массив из семи символов. Прямое присваивание в данном случае не работает, но сработало-бы если это было в виде строки char *s1;
Используйте strcpy.

memset(s1, 0, sizeof(s1)); // обнуляем
strcpy(s1, "hello"); // копируем
Ответ написан
Комментировать
@abcd0x00
char s1[7];

sprintf(s1, "hello");
strcpy(s1, "hello");


#include <stdio.h>

int main(void)
{
    char s1[7];

    sprintf(s1, "hello");
    printf("%s\n", s1);
    return 0;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы