请问有没有哪个大神知道如何编写一段程序,能够将字符数组里的所有元素赋值给一个变量??如str[]={'H','e','l','l','o'},如何赋值给变量a,既a=Hello.万分感谢!
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的基础知识,找个教程慢慢看
多谢,问题已解决
C语言中,只有数组,没有字符串变量,可以通过指针类型类逐个添加数组元素。
char*p=....;//分配空间
str[]={'H','e','l','l','o'}
int i=0;
fro(;i<5;i++)
{
p[i]=str[i];
}
忘记怎么分配空间了,让一个做DB的人来写C语言,我表示,抵抗不住遗忘的洪荒之力
这种方法其实我也是试过,可还是解决不了我需要解决的问题,因为我是要将一串字符作为一个整体来判断的,所以我才想将一串字符赋值给一个变量a,如将a=Hello,然后就可以利用if语句判断a是否等于Hello,if(a=="Hello")...我想了一下,好像c语言中很难实现,可能是我的想法想过头了,不过,不管怎么样,还是很谢谢你。
@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");
@IT民工-杰: 多谢,问题已解决,是参照你的方法,非常感谢
多谢,问题已解决
你先弄清楚变量的概念吧.
先问一个问题:你觉得这个a应该是什么类型?
他的意思很简单,将一个数组中的元素取出来,然后拼成一个完整的字符串赋给一个变量,至于这个变量肯定是string类型啊!
@IT民工-杰: 多谢,问题已解决,是参照你的方法,非常感谢
多谢,问题已解决
那为毛把园豆给我呢?我悲哀了
什么鬼??