在c语言中,能不能合并字符成为一个新字符?急啊!

来源:百度知道 编辑:UC知道 时间:2024/06/15 14:54:38
例如,char a='asd',b='s',c='fdg';char d;
最后希望把abc连接成一个新的字符赋给d;不要字符串!
因为后面我还要用case语句,所以只能将旧字符合并成新字符。
麻烦高手解疑!
谢~~~~~~~~~~~~~

如果是预处理,用##
如果是字符串,用指针

你这里面本身就是错的,好几个字符不能用一个字符变量来存储,不用字符串也得用指针或数组
你还是把题发到网上吧,也许是你哪里理解错了

a,b,c都是字符串,所以楼主想实现的功能不可能的,d是单个字符,类型有区别无法赋值!不过可以把a,b,c链接成一个字符串!

玩呢吧

c语言规定一个字符占一个字节,那么char 类型的就是规定它是字符类型,只占一个字节,所以,楼主定义中'asd'和'fdg'均是字符串类型,所以无论如何都无法实现。你说后面要用case 语句,这样,就不妨把case后的检查标识符定义为字符串类型就好了。至于你说“最后希望把abc连接成一个新的字符赋给d”,这样的说法本身就是错误的,因为那是字符串!!
这里有一个字符串连接函数,希望你能用上:

原型:extern char *strcat(char *dest,char *src);

用法:#include <string.h>

功能:把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。

说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。

举例:

// strcat.c

#include <syslib.h>
#include <string.h>

main()
{
char d[20]="Golden Global";
char *s=" View";

clrscr();