wxsh.net
当前位置:首页>>关于char s[4]={"abc"}和char s[4]="abc"有什么区别的资料>>

char s[4]={"abc"}和char s[4]="abc"有什么区别

这样说清楚点!假如有char *s[4]={"ABCD","EF"};,那么s[1]是指向字符E的指针,当然*s[1]就是字符E了!原来的题目初始化项只有一个字符串,不便于说明白。顺便一说,s[0]是指向A的指针……

1定义 char s[ ]="Hello";与( )等价? A. char s[4]="Hello"; B. char *s="Hello"; C. char s[ ]={'H','e','l','l','o','\0'}; D. char s[ ]; s="Hello"; 分析:首先s的长度是6,系统自动加上'\0'结尾符号; A存在数组越界, B只是定义一个指...

这个应该是个二维字符数组。 也可以看成一维字符串数组。 它初始化了字符串数组的第一个元素 s[0],相当于 s[0][0] = 'A'; s[0][1] = 'B'; s[0][2] = 'C'; s[0][3] = 'D'; s[0][4] = 0;

printf("%s",s); //去除*号就可以了

char s[] = "abc",这是定义时即为"abc\0"四个字符。 而char s1[3] ="abc",其中"abc"也实际上是"abc\0",但是s1[3] 只有三个,所以最后的'\0'被舍去了 比方说 char s[] = "abcdef"; sizeof(s) :7 char s1[3] ="abcdef"; sizeof(s1):3

你想问什么 第一次输出/No看得懂吧 就是ps开始指向Y前移4个就是/ 接着输出/和他后面的No 第二次他吧/改成了0,0表示字符串结束符,在字符串里面用\0表示 就是说字符串输出要是遇到\0就结束,这儿就是这样 所以输出Yes\n 后面就结束了 明白?

同学,"aeiou"里面有空格吗? 以没有空格为例子来说明。 char *p=s;说明p指针的值一样,都是指向字符数组的第一个元素的指针。 *p+4是先计算*p,再把*p的值与4相加,所以为s[0]+4,即'a'+4输出'e' 同时*(p+4)是先把p加4,p原先指向s[0],所以p+4...

输出是d。 解释如下: p=s,之后,p和s指向同一个地址。 printf("%c\n",*p+1); 这句话的意思是输出*p+1对应的字符,首先计算*p,也就是数组s的首字母,既s[0],既字母c。字母c+1的意思就是c的下一个ASCII码字符,也就是小写字母d。 最终输出就是...

对于char[]="chinese",在计算数组长度时包不包括结束标志'\0',那么对于char[]={'c','a','t'}这种数组呢? ***所有计算字符串的长度都不包括...

s + 4 指向的是字符串 s 最后的空字符,而 p 一开始指向第一个字符,之后每次 p 都会往后移动一个字符,当然就会输出成这样了 printf 会把你指定的指针当作读取的起点,然后一直读到碰到的空字符为止

网站首页 | 网站地图
All rights reserved Powered by www.wxsh.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com