如何给字符串数组里面的字符赋值

如何给字符串数组里面的字符赋值,第1张

C语言怎样给字符数组赋值
例如
/ Note:Your choice is C IDE /
#include "stdioh"
void main()
{
char a[7]="ddgh";
printf("%s",a);
}
怎样才能不在定义时赋值,例如a="dsfsdf",这样不能实现。
有什么办法,只有这样吗?
a[1]='f';a[2]='f'
a7691846 | 浏览 8377 次
推荐于2016-03-11 03:30:23最佳答案
给字符数组赋值分两种情况,单字符赋值和字符串赋值。
单字符赋值,可通过数组下标方式或指针方式,引用数组元素,进行赋值,如:
1
2
3
4
5
6
7

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++; //通过指针对数组相应元素赋值
字符串赋值,可使用stringh头文件中的字符串 *** 作函数进行赋值,如:
1
2
3

char a[10];
strcpy( a, "abcdefgh");
sprintf(a, "%s", "abcdefgh");
注意:数组在定义时,可以同时进行初始化,但定义完成后,就不能按初始化的形式对其赋值了,如:
1
2

char a[10]="abcdefgh"; //这样可以
a="abcdefgh"; //这样是错误的!a是数组名,是一个静态数据:数组首地址值,可以看作是个常数,不能再被改变。

变量初始化,和变量赋值是两个不同的语法。
数组初始化时,可以为null,{value1,value2,value3,},或者赋予另一个数组的值:String[]
b
=
a;
常量只能被初始化,一次,不能再次赋值;
非常量则可以进行赋值 *** 作,赋值 *** 作只能赋予以下情况:null,另一个数组的值。
lz的问题中,a={","}是一个初始化的语法,不是正确的赋值语法。

java中给字符数组批量赋值,可以使用for-each来给字符数组赋值,代码如下:

package comqiulinhe;
public class CeShi {
public static void main(String[] args) {
char c[] = new char[26];
String s = "abcdefghijklmnopqrstuvwxyz";
char ss[] = stoCharArray();
for (int i = 0; i < sslength; i++) {
c[i] = ss[i];//给字符数组赋值
}
for (char x : c) {
Systemoutprint(x);//循环输出字符数组的内容
}
}
}

结果如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/13375511.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-24
下一篇 2023-07-24

发表评论

登录后才能评论

评论列表(0条)

保存