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的指针……

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

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只是定义一个指...

char s[5]={'1','2','3','4','5'};是可以的,但 char s[5]={“12345”};则错了。因为存储字符串"12345"需要6个字节。(外加一个串结束符'\0')

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

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

s,是一个数组; p是一个指针,指向数组s首地址,也就是“A”的地址,每次p++就指向后面一个,所以输出就是你的那个结果。 我也是一个新手,有错勿喷!

同学,"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...

定义函数change,接收的参数是一个字符型的二维数组,也就是一个字符串数组,返回一个字符指(一个字符串)。

0这里就是一个字符。 而\0表示结束符,常常用作一个字符串的末尾,表示字符串的结束。 如果你使用printf这个字符数组,会发现,只输出\0的前半部分,后半部分是不会输出的。

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