首页 新闻 搜索 专区 学院

c语言字符数组

0
[已解决问题] 解决于 2016-09-26 21:49

  请问有没有哪个大神知道如何编写一段程序,能够将字符数组里的所有元素赋值给一个变量??如str[]={'H','e','l','l','o'},如何赋值给变量a,既a=Hello.万分感谢!

218~陈笑璞的主页 218~陈笑璞 | 菜鸟二级 | 园豆:204
提问于:2016-09-22 20:03
< >
分享
最佳答案
0

C里面没有字符串类型,所谓的字符串都是char[]数组,以'\0'结尾,如:

char str[] = "hello";
char * pstr = "hello";
char str[] = {'h','e','l','l','o','\0'};

所谓的赋值有两种,一种是指针,即a是char *类型,那么直接a=str就

如果a是char[]类型,可以使用strcpy,要注意数组长度

如果是新分配内存,需要用malloc分配内存,但是自己分配的使用完需要释放

这些事都C的基础知识,找个教程慢慢看

奖励园豆:5
浴子风 | 小虾三级 |园豆:523 | 2016-09-23 10:03

多谢,问题已解决

218~陈笑璞 | 园豆:204 (菜鸟二级) | 2016-09-26 21:48
其他回答(3)
0

C语言中,只有数组,没有字符串变量,可以通过指针类型类逐个添加数组元素。

char*p=....;//分配空间

str[]={'H','e','l','l','o'}

int i=0;

fro(;i<5;i++)

{

p[i]=str[i];

}

忘记怎么分配空间了,让一个做DB的人来写C语言,我表示,抵抗不住遗忘的洪荒之力

 

 

悦光阴 | 园豆:2251 (老鸟四级) | 2016-09-22 21:20

  这种方法其实我也是试过,可还是解决不了我需要解决的问题,因为我是要将一串字符作为一个整体来判断的,所以我才想将一串字符赋值给一个变量a,如将a=Hello,然后就可以利用if语句判断a是否等于Hello,if(a=="Hello")...我想了一下,好像c语言中很难实现,可能是我的想法想过头了,不过,不管怎么样,还是很谢谢你。

支持(0) 反对(0) 218~陈笑璞 | 园豆:204 (菜鸟二级) | 2016-09-22 21:39

@218~陈笑璞: 为毛要这么麻烦呢?要判断一个字符串是否相等,标准库函数strcmp();

1    char* str_1 = "abc" ; char * str_2 = "abc" ; char* str_3 = "ABC" ;
2     if (strcmp(str_1, str_2) == 0)
3         printf("str_1 is equal to str_2. \n");
4     else
5         printf("str_1 is not equal to str_2. \n");
支持(1) 反对(0) ~扎克伯格 | 园豆:1854 (小虾三级) | 2016-09-23 09:45

@IT民工-杰: 多谢,问题已解决,是参照你的方法,非常感谢

支持(0) 反对(0) 218~陈笑璞 | 园豆:204 (菜鸟二级) | 2016-09-26 21:45

多谢,问题已解决

支持(0) 反对(0) 218~陈笑璞 | 园豆:204 (菜鸟二级) | 2016-09-26 21:48
0

你先弄清楚变量的概念吧.

先问一个问题:你觉得这个a应该是什么类型?

吴瑞祥 | 园豆:28856 (高人七级) | 2016-09-22 22:59

他的意思很简单,将一个数组中的元素取出来,然后拼成一个完整的字符串赋给一个变量,至于这个变量肯定是string类型啊!

支持(0) 反对(0) ~扎克伯格 | 园豆:1854 (小虾三级) | 2016-09-23 09:38

@IT民工-杰: 多谢,问题已解决,是参照你的方法,非常感谢

支持(0) 反对(0) 218~陈笑璞 | 园豆:204 (菜鸟二级) | 2016-09-26 21:45

多谢,问题已解决

支持(0) 反对(0) 218~陈笑璞 | 园豆:204 (菜鸟二级) | 2016-09-26 21:48
0

那为毛把园豆给我呢?我悲哀了

~扎克伯格 | 园豆:1854 (小虾三级) | 2016-09-28 12:36

什么鬼??

支持(0) 反对(0) 218~陈笑璞 | 园豆:204 (菜鸟二级) | 2016-09-29 20:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册