#include<stdio.h>
int main()
{
char name[10]="xiao mingg";
char *addr;
int value;
int i;
addr=name;
for(i=0;i<10;i++)
{
value=*addr;
printf("[%x]='%c'=%d\n",addr,value,value);
addr++;
}
return 0;
}
程序一样可以执行啊
“C语言中说字符串结尾应该是字符'\n',” 这句话是不对的,字符串的默认结尾是‘\0’,例如:
char a[] = “abcd”,在内存中是这么存储的:
系统会默认的将最后一位加上一个'\0'做为字符串的结束符。这时,a的数组长度为5,而a的字符串长度为4,即它只有4个字符。
再来看这个:
char a[4] = "abcd";
在VS2010中它会提示你的数组越界了,就是我刚才说的原因,它没有足够的地址去存放它的结束符了。
C语言中说字符串结尾应该是字符'\\n',但是看我在下面的代码中结尾是字符...
“C语言中说字符串结尾应该是字符'\\n',” 这句话是不对的,字符串的默认结尾是‘\\0’,例如:char a[] = “abcd”,在内存中是这么存储的:系统会默认的将最后一位加上一个'\\0'做为字符串的结束符。这时,a的数组长度为5,而a的字符串长度为4,即它只有4个字符。再来看这个:char a...
C语言是不是字符串最后才会有\\0,字符最后有吗?
是字符串常量最后有一个结束符号。所以,在变量初始化那里,char x[ ]=“abcdefg”,把字符串常量赋值给数组,数组x元素个数就多了一个结束符号。而y数组是按照字符赋初值的,所以y元素个数就是字符个数。所以这里如果用字符串函数strlen获取长度,只有x能正常获取。
c语言中数组和字符串结尾有个\\n代表什么意思?
\\n是换行 \\r是回车 “回车换行”是“回车”加“换行”。换行好理解,但什么叫“回车”呢?它和“换行”又有什么关系?原来,“回车换行”的概念源于早先的打字机。类似于现在打印机中有一个打印头,这个打印头平常停在打印机内的某一端。在打印一行时,则需要向外移动,打印一行结束后,打印头需要...
C语言字符串末尾判断是c!='\\0'还是c!='\\n'?
是 c!='\\0' '\\0' 表示空字符,到这个字符,就意味着字符串结束了。'\\n' 表示换行符。
C语言编程中,输入一个字符串最后输入回车,内存中式‘\\n’还是'‘\\0...
是'\\0',在内存中字符串都以'\\0'结束!'\\0'要占用空间。'\\n'只是格式控制是换行符,'\\r'是回车 ,'\\t'是Tab。
c语言字符串结尾的问题?
!='\\0'.就是运行到字符串结尾时结束。!的意思是非,亦可以理解成不。‘\\0’是字符串的结束符号,由编译器自动加上。比如说,把一个字符串赋值给数组:u8 str1[]={"cxjr.21ic.org"};实际上数组str1在内存中的实际存放情况为: c x j r . 2 1 i c . o r g '\\0' 这后面的'\\0...
c语言,字符数组中最后一个字必须为‘\\0’,为什么错?
c语言中字符数组并没有规定最后一个字符为'\\0',甚至可以不包含'\\0',添加'\\0'作为结束标志是针对于c语言对字符串的处理而言的,因此,字符数组中最后一个字必须为‘\\0’是错误的。C语言中没有字符串类型,字符串是存放在字符型数组中的。在C语言中,是将字符串作为字符数组来处理的。为了测定...
C语言中,字符串的结束标记是 【】A、空格B、换行C、’\\0’D、’\\t’
【答案】:C 字符串常量中每个字符占1个字节的存储空间,系统自动给串后面加一个结束标记字符’\0’,’\0’是ASCII码值为0的字符。
c语言关于字符串最后加不加'\\0'的添加问题?
\\0',所以也不用人工再添加'\\0'。不过scanf这时不会接收'\\n',会把'\\n'遗留在输入缓冲区里,在后面接着要接收字符的话会引起出错,需要当心。getchar不是接收字符串的,一次只接收一个字符,当要把这些字符组织成字符串时,要人工在最后加一个'\\0'。
c语言\\ n是什么意思?
在c语言中,“\/n”没有特别的意思,就是一个斜杠加字符n,总共两个字符。“\\n”是转义字符,表示换行。一个字符。"\/n"没有特别的意思,就是一个长度为2的字符串,或者说,你所看到的资料上面是错的,出错了都,再或者说它让你区分\\n和\/n,要告诉你\\n表示的不是两个字符'\\'和'n',表示...