怎么把char 赋值给char
发布网友
发布时间:2022-04-24 03:18
我来回答
共1个回答
热心网友
时间:2023-10-24 10:24
定义一个数组char a[10];
怎么给这个数组赋值呢?
1、定义的时候直接用字符串赋值
char a[10]="hello";
注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!
2、对数组中字符逐个赋值
char a[10]={'h','e','l','l','o'};
3、利用strcpy
char a[10]; strcpy(a, "hello");
易错情况:
1、char a[10]; a[10]="hello";//一个字符怎么能容纳一个字符串?况且a[10]也是不存在的!
2、char a[10]; a="hello";//这种情况容易出现,a虽然是指针,但是它已经指向在堆栈中分配的10个字符空间,现在这个情况a又指向数据区中的hello常量,这里的指针a出现混乱,不允许!
main()
{
char s[30];
strcpy(s, "Good News!"); /*给数组赋字符串*/ .
}
上面程序在编译时, 遇到char s[30]这条语句时, 编译程序会在内存的某处留出连续30个字节的区域, 并将第一个字节的地址赋给s。当遇到strcpy( strcpy 为Turbo C2.0的函数)时, 首先在目标文件的某处建立一个"Good News!/0" 的字符串。其中/0表示字符串终止, 终止符是编译时自动加上的, 然后一个字符一个字符地复制到s所指的内存区域。因此定义字符串数组时, 其元素个数至少应该比字符串的长度多1。
热心网友
时间:2023-10-24 10:24
定义一个数组char a[10];
怎么给这个数组赋值呢?
1、定义的时候直接用字符串赋值
char a[10]="hello";
注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!
2、对数组中字符逐个赋值
char a[10]={'h','e','l','l','o'};
3、利用strcpy
char a[10]; strcpy(a, "hello");
易错情况:
1、char a[10]; a[10]="hello";//一个字符怎么能容纳一个字符串?况且a[10]也是不存在的!
2、char a[10]; a="hello";//这种情况容易出现,a虽然是指针,但是它已经指向在堆栈中分配的10个字符空间,现在这个情况a又指向数据区中的hello常量,这里的指针a出现混乱,不允许!
main()
{
char s[30];
strcpy(s, "Good News!"); /*给数组赋字符串*/ .
}
上面程序在编译时, 遇到char s[30]这条语句时, 编译程序会在内存的某处留出连续30个字节的区域, 并将第一个字节的地址赋给s。当遇到strcpy( strcpy 为Turbo C2.0的函数)时, 首先在目标文件的某处建立一个"Good News!/0" 的字符串。其中/0表示字符串终止, 终止符是编译时自动加上的, 然后一个字符一个字符地复制到s所指的内存区域。因此定义字符串数组时, 其元素个数至少应该比字符串的长度多1。
热心网友
时间:2023-10-24 10:24
定义一个数组char a[10];
怎么给这个数组赋值呢?
1、定义的时候直接用字符串赋值
char a[10]="hello";
注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!
2、对数组中字符逐个赋值
char a[10]={'h','e','l','l','o'};
3、利用strcpy
char a[10]; strcpy(a, "hello");
易错情况:
1、char a[10]; a[10]="hello";//一个字符怎么能容纳一个字符串?况且a[10]也是不存在的!
2、char a[10]; a="hello";//这种情况容易出现,a虽然是指针,但是它已经指向在堆栈中分配的10个字符空间,现在这个情况a又指向数据区中的hello常量,这里的指针a出现混乱,不允许!
main()
{
char s[30];
strcpy(s, "Good News!"); /*给数组赋字符串*/ .
}
上面程序在编译时, 遇到char s[30]这条语句时, 编译程序会在内存的某处留出连续30个字节的区域, 并将第一个字节的地址赋给s。当遇到strcpy( strcpy 为Turbo C2.0的函数)时, 首先在目标文件的某处建立一个"Good News!/0" 的字符串。其中/0表示字符串终止, 终止符是编译时自动加上的, 然后一个字符一个字符地复制到s所指的内存区域。因此定义字符串数组时, 其元素个数至少应该比字符串的长度多1。
怎么把char 赋值给char
1、定义的时候直接用字符串赋值 char a[10]="hello";注意:不能先定义再给它赋值,如char a[10]; a[10]="hello";这样是错误的!2、对数组中字符逐个赋值 char a[10]={'h','e','l','l','o'};3、利用strcpy char a[10]; strcpy(a, "hello");易错情况:1、char a[10]; a[...
怎样把一个char数组赋值给另一个char数组?
简单的可以使用memcpy,举个例子 include <stdio.h>#include <stdlib.h>int main(int argc, char *argv[]) {char a[30];char b[25]="abcdefgagh";memcpy(a,b,strlen(b));//a使用字串形式打印a[strlen(b)]='\0';printf("a=%s\n",a);return 0;} ...
char[]数组该如何赋值知道
1. 直接使用字符串字面量赋值:javachar a[10] = "hello"; // 注意,不能先定义数组再尝试赋值,如char a[10]; a[10] = "hello"; 这是错误的。2. 逐个字符赋值:javachar a[10] = {'h', 'e', 'l', 'l', 'o'}; // 通过字符数组直接初始化3. 利用strcpy函数:javachar a[10...
c语言中,char怎么赋值
1、char类型,也就是常说字符类型。char类型和其它类型一样在定义和初始化上可以先声明(定义),再赋值(初始化)。使用char来定义一个字符,通过单引号括起来的单个字符赋值给它。2、当然你也可以在定义变量的时候就初始化(也就是在声明的时候赋值)。3、注意字符并不意味着字母,单引号括起来的单...
C语言里如何把输入字符串赋值给字符数组?
include <stdio.h> int main(){ char s[20];scanf("%s",s);printf("%s\n",s);return 0;} 直接用scanf接收输入就可以复制给字符数组。
在c中怎样把一个char赋值给char*的字符串
string ss = "ssss";char* A = ss.c_str();
C语言 怎么把字符数组中的字符赋值给字符变量
第一种写法,等同于char a[10] = {"abc"};第一种写法,用一个字符串赋值,实际上保存了4个字节(包含字符串结束符)。第二种写法,只赋值了三个字节。1、char c[5];c[0]=’H’; c[1]=’e’; c[2]=’l’; c[3]=’l’; c[4]=’o’;2、charc[5]={‘H’,’e’,’l’...
如何将整型变量数组赋值给char型指针数组?
char * p = {"111","222"}这是错误的写法 char * p[] = {"111","222"} 这样可以,但不能修改常量串的值
如何const char *赋值给char **
include<stdio.h> include<string.h> void main(){ const char * str1="aaaaa";char str2[1][6];strcpy(str2[0],str1);}
c语言如何使用getchar函数获取字符并赋值ch
在C语言中,可以使用getchar函数来获取字符,并将其赋值给一个字符变量ch。例子如下:```c#include <stdio.h>int main() { char ch; printf("请输入一个字符:"); ch = getchar(); printf("你输入的字符是:%c ", ch); return 0;}```在上面的例子中,首先定义一个字符变量ch。