如何将特殊字符赋给C中的变量? 我试图给变量符号分配一个像~~~~~或者@@@@@或*****或者;;;;;;;的字符。 我所做的是char symbol = "~~~~~~~~~~";
但这并没有工作,所以我试图改变双引号改为单是这样的:如何将特殊字符分配给C中的变量?
char symbol = '@@@@@@@@@';
但这并没有工作,要么;
如何将特殊字符赋给C中的变量? 我试图给变量符号分配一个像~~~~~或者@@@@@或*****或者;;;;;;;的字符。 我所做的是char symbol = "~~~~~~~~~~";
但这并没有工作,所以我试图改变双引号改为单是这样的:如何将特殊字符分配给C中的变量?
char symbol = '@@@@@@@@@';
但这并没有工作,要么;
它的工作原理,但你试图把多个字符放入一个没有意义的单个字符。
尝试:
char symbol = '@';
const char symbols[] = "@@@@@@";
const char* symbols2 = "@@@@@@@";
请注意,你需要使用单字符和字符串双引号"
单引号'
。
还要注意,char通常定义为8位整数,因此您只能保存通常的ASCII字符。如果您需要Unicode,您应该使用char数组来容纳所需的所有位,并且最好使用一个处理库,转换和您可能想要执行的任何其他操作。
不,我在if语句中使用这些变量,并根据if更改值。 –
您可以复制字符数组。我使用const,因为在上面的情况下指针将指向编译器静态常量。分配一个可修改的数组'char * symbol =(char *)malloc(max_length_of_your_string + 1);'然后使用memcpy复制你想要的任何内容。 C字符串有点恐怖,容易搞砸。如果你可以使用C++字符串,它会让你的生活变得更容易。 – Sorin
如果要分配多个值,则应该使用指向字符的指针。
const char *smth = "@@@@";
如果你只需要一个,然后只需char smth = '@';
'为const char * C = “@@@@@@@”;' –
一个'char'可以代表一个* *字符,比如' '@'或'a'。你所有的“角色”都由几个字符组成。如果你解释你将要对他们做什么,你会得到更好的帮助。 – molbdnilo