C语言怎样给字符数组赋值

来源:网络 作者:心懂  更新 :2022-12-03 05:02

C语言怎样给字符数组赋值

其实你的第二种赋值方式是很危险的。容易产生问题。因为字符串"china"实际上是六个字符。在a的后面有一个字符串结尾标识符''不过这个是个警告。回到正题。当你使用charx[5]="china";进行初始化的时候,程序会自动将'c''h'''i''n''a'''依次赋值到x中x的实际存储情况与charx[5]={'c','h','i','n','a'};完全相同而scanf的传入的参数是x。x是数组x[]的名称。同样也是x[]的首地址在scanf进行操作同样是将china分解,依次赋值到x[]中当进行字符串读取的时候,程序会连续读取字符,直到遇到''为止由于你的x[5]没有存储''所以有可能会产生错误为什么是有可能呢?因为内存初始化的时候,x[4]的后面,很可能就是0相当于‘’所以你的程序会读取到这个'',认为字符串已经结束误打误撞不报错。

其他回答

1单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值。例子:chara[10];charch='a';for(i=0;i<10;i++)a[i]=ch+i;//可通过数组下标引用数组元素,完成赋值char*p;for(p=a;p<a+10;p++)*p=ch++;//通过指针对数组相应元素赋2、字符串赋值,可使用string.h头文件中的字符串操作函数进行赋值。例子:chara[10];strcpy(a,"abcdefgh");sprintf(a,"%s","abcdefgh");扩展资料:C语言给字符数组赋值的优点:1、简洁紧凑、灵活方便C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。2、运算符丰富C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而使C语言的运算类型极其丰富,表达式类型多样化。灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。参考资料:百度百科C语言基础语句

给字符数组赋值分两种情况,单字符赋值和字符串赋值。单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值,如:char a[10];char ch='a';for( i=0;i<10;i++ )     a[i]=ch+i ; //可通过数组下标引用数组元素,完成赋值char *p;for( p=a; p<a+10; p++ )    *p=ch++; //通过指针对数组相应元素赋值字符串赋值,可使用string.h头文件中的字符串操作函数进行赋值,如:char a[10];strcpy( a, "abcdefgh");sprintf(a, "%s", "abcdefgh");注意:数组在定义时,可以同时进行初始化,但定义完成后,就不能按初始化的形式对其赋值了,如:char a[10]="abcdefgh"; //这样可以a="abcdefgh"; //这样是错误的!a是数组名,是一个静态数据:数组首地址值,可以看作是个常数,不能再被改变。

1定义的时候直接用字符串赋值chara[10]="hello";注意:不能先定义再给它赋值,如chara[10];a[10]="hello";这样是错误的!2、对数组中字符逐个赋值chara[10]={'h','e','l','l','o'};3、利用strcpychara[10];strcpy(a,"hello");

- END -

非泼罗尼对狗狗有害吗(含有非泼罗尼成分的驱虫药)

非泼罗尼对狗狗有害吗(含有非泼罗尼成分的驱虫药)

非泼罗尼对狗狗有害吗,含有非泼罗尼成分的驱虫药,是目前来说效果最好的驱虫药之一,能够生产售卖的非泼罗尼驱虫药,肯定...

两杠三星是什么军衔(上校一般是团长的编制军衔)

两杠三星是什么军衔(上校一般是团长的编制军衔)

上校一般是团长的编制军衔。中国人民解放军上校军衔为副师职(正旅职)军官和正团职(副旅职)军官的主要军衔。两杠三星两...

陈秋石将军历史原型是谁(马上天下剧情介绍 陈秋石为逃避父亲安排的婚姻)

陈秋石将军历史原型是谁(马上天下剧情介绍 陈秋石为逃避父亲安排的婚姻)

电视剧《马上天下》的主人翁陈秋石,1909-1910年之间出生,中学毕业以后考入南湖分校,毕业后来到川陕边区参军。在红四...

桂林银行会员的精灵都是什么(桂林银行会员的精灵是为其会员推出的一种会员积分活动)

桂林银行会员的精灵都是什么(桂林银行会员的精灵是为其会员推出的一种会员积分活动)

桂林银行会员的精灵都是什么,桂林银行会员的精灵是为其会员推出的一种会员积分活动,白银会员一个季度积35个精灵豆;黄...

怎么知道自己被向日葵远程控制(电脑上面安装向日葵软件,如何知道有没有被远程控制)

怎么知道自己被向日葵远程控制(电脑上面安装向日葵软件,如何知道有没有被远程控制)

怎么知道自己被向日葵远程控制,向日葵远程控制软件现在是很多公司和个人都在用的,挺不错的远程软件,那么电脑上面安装...

行胜于言质胜于华什么意思(行胜于言,质胜于华的意思是:少说多做,不是不说而是需要用实际)

行胜于言质胜于华什么意思(行胜于言,质胜于华的意思是:少说多做,不是不说而是需要用实际)

行胜于言质胜于华什么意思,行胜于言,质胜于华的意思是:少说多做,不是不说而是需要用实际行动来证明;无论是才华和外表都...

音乐升降调符号是什么?

音乐升降调符号是什么?

音乐升降调符号是什么? 137****5205回答了:升调符号是#,表示把基本音符音高增高半音。降调符号是b,表示把基本音符音...

网络用语hhhhhh什么意思

网络用语hhhhhh什么意思

网络用语hhhhhh什么意思 玲大妮儿回答了:网络用语hhhhhh就是哈哈哈哈哈哈的缩写。就是“哈哈哈哈哈哈”的意思,表示...

韩国3j片大全_韩国10部R级剧情伦理片电影视频推荐(韩国三级19禁电影)

韩国3j片大全_韩国10部R级剧情伦理片电影视频推荐(韩国三级19禁电影)

韩国3j片大全_韩国10部顶级剧情片电影视频推荐(韩国3J)关于韩国10部顶级剧情片电影视频推荐,韩国3j片大全这个很多...

我没穿胸罩被同桌给上了一节课(同桌没带罩子让捏了一节课怎么办)

我没穿胸罩被同桌给上了一节课(同桌没带罩子让捏了一节课怎么办)

我没穿胸罩被同桌给上了一节课(同桌没带罩子让捏了一节课怎么办)关于我没穿胸罩被同桌给上了一节课这个很多人还不...

查看更多综合百科