今天遇到这样一种写法(C语言):char * str="abc""def"; 这样也能给字符串赋值,语法好奇怪,你们见过吗
匿名用户 2011-08-25 12:42
满意回答
对的,两个被双引号括起来点扬的字符串,只要当中是空格(包括换行),C就认孟荒尺为这是一个字符串。在悠荒《C PRIMER PLUS》第四章的 Exploring and Exploiting printf() and scanf()小节中有如下引文: new with ANSI C, is string concatenation. If you follow one quoted string constant with another, separated only by whitespace, C treats the combination as a single string
宝宝知道提示您:回答为网友贡献,仅供参考。
为您推荐:
其他回答
首先第一个指针形式的str指向一个字符串,这样指向以后就不能通过str对abcdef这个字符串修改了,但是你可以给str用别的字符串再赋值,这样他就指向了别的字符串,但是一旦指向某个字符串,就不能通过这个指针对字符串修改了。 第二种数组形式的str,其实数组名就是指针常量,也就是说一旦他初始化了,...
字符串函数赋值,更奇怪 #include #include void main() { char a="i love you"; char b="love"; char *str=strstr(a,b); printf("%s",str); }
这样的赋值是可以的,编译器会帮你把abc和def定义在连续的地址上合并成一个字符串,所以这个等价于 char* str="abcdef";
没见过 不过 貌似""这个 是要输入的字符吧?
加载更多