Это мой первый вопрос на этом сайте.
Как присвоить строку одной переменной другой переменной. Что я здесь делаю неправильно?
#include<stdio.h>
#include<string.h>
main(){
char a[30],b[30];
scanf("%s",a);
b[30]=a[30];
printf("%s",b);
}
Это мой первый вопрос на этом сайте.
Как присвоить строку одной переменной другой переменной. Что я здесь делаю неправильно?
#include<stdio.h>
#include<string.h>
main(){
char a[30],b[30];
scanf("%s",a);
b[30]=a[30];
printf("%s",b);
}
Используйте стандартную функцию C strcpy
, объявленную в заголовке <string.h>
. Например
strcpy( b, a );
Массивы не имеют оператора присваивания.
Что касается вашего заявления
b[30]=a[30];
тогда b[30]
и a[30]
— это неопределенные объекты типа char, находящиеся за пределами массивов.
#include<stdio.h>
#include<string.h>
main(){
char a[30],b[30];
scanf("%s", a);
strcpy(b, a); //header file <string.h>
//strcpy(destination, source)
printf("%s",b);
}
Функция strcpy() скопирует содержимое строки a в строку b.
strcpy
, как говорят ответы ниже. И это прекрасный ответ на сегодняшний день. Однако вскоре вы услышите об указателях, и все снова запутается. В этот момент вы можете прочитать этот более длинный ответ а>. - person Steve Summit   schedule 16.11.2019