【问题标题】:How to assign string of one variable to other variable?如何将一个变量的字符串分配给另一个变量?
【发布时间】:2020-03-12 11:07:01
【问题描述】:
这是我在这个网站上的第一个问题。
如何将一个变量的字符串分配给另一个变量。我在这里做错了什么?
#include<stdio.h>
#include<string.h>
main(){
char a[30],b[30];
scanf("%s",a);
b[30]=a[30];
printf("%s",b);
}
【问题讨论】:
-
简短的回答是致电strcpy,如下面的答案所述。这是今天的一个很好的答案。不过,很快你就会听到关于指针的消息,事情会再次变得混乱。那时,您可能想阅读this longer answer。
标签:
c
arrays
c-strings
strcpy
【解决方案1】:
#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 中。
【解决方案2】:
使用标头<string.h> 中声明的标准C 函数strcpy。例如
strcpy( b, a );
数组没有赋值运算符。
至于你的说法
b[30]=a[30];
那么b[30] 和a[30] 是超出数组的char 类型的未定义对象。