请问C语言中,什么时候用'\0'什么时候用'\n'

作者&投稿:彩之 (若有异议请与网页底部的电邮联系)
c语言字符串结束时什么时候用'\0’,什么时候用"\0",什么时候用0?~

应该是'\0' ,"\0"是字符串,理解时可以这样理解,反正“\0”是的字符串,把“\0”当做“a”这个字符串,系统在把字符串的值给数组时,实际上自动在字符串最后面加了“\0”,来判断字符串是否结束,比如说b[ ] = "a",则数组b中有两个元素,即b[ ] = { " a\0 " }
本题中p[ j ] 只能存放一个字符,所以应该为‘ \0 ’
希望对你有帮助~

‘\0'是字符数组里的结束标志,库中的strcpy在复制完字符串时给你加上了'\0'结束符,所以不须要你再添加。而如果是你对字符数组操作时就要加,比如你把A串的字符复制给B,B[i++] = A[j++];复制完最后一个时你就要加上'\0'。B[i]=0;/B[i] = '\0';

'\n' ——换行,一般用于输出字符串时换行,不表示本字符串结束,只是对显示格式的调整。
'\0'——字符串零,详细点说就是字符串在字符数据之后加入一个null字符,表示字符串结束,一般不需要手动添加。

详细的可以看下面一段文字:
字符串结束符
C语言对字符串做了最奇怪的事:在每个字符串的末端加上了一个零。字符串末端的零有几种名字。下面列出了一些:

Null零
二进制零
字符串结束符
ASCII零
\0

警告:

你唯独不能把字符串末端的零叫做零(zero)。C程序员给字符串末端的零起了特殊的名字,这样你就知道在字符串末端用的既不是普通的数值零也不是字符'0'。只有null零出现在字符串末端。

C语言用字符串末端的零标识所有字符串的结束。当你输入文字My name is Julie时,不需要做什么特别的事情。C程序会自动加上null零。你永远看不到null零,但它确实存在。在内存中,只有当C程序遇到null零时才知道字符串结束了。

说明:

查看附录C时,你会找到ASCII表(在第2章中讨论)。第1个条目就是null,它的ASCII数是0。往下找到ASCII 48,会看到一个0。ASCII 48是字符'0',而第1个ASCII值是null零。C语言把null零放在字符串的末端。即使字符串"I am 20"也以ASCII 0结束,它就在20的字符0后面。
线索 字符串结束符有时被称为\0(反斜杠零),这是因为可以把\0放在单引号中来表示null零。因此,'0'是字符零,而'\0'是字符串结束符。
图6-1展示了字符串"Crazy"在内存中是如何存储的。如你所见,尽管字符串只有5个字母,但它占用了6个字节(一个字节是一个存储单元)。作为字符串"Crazy"的一部分,null零也占用了一个字节。

一个字符串结束用'\0'
一行写完了换一行用'\n'
如:
char string[128] = "aaaabbbb";
char *str = "yes";
memcpy(string, str, strlen(str));
printf("%s\n", string);

你会发现打印出来的string不是”yes“而是”yesabbbb“
如果要让他输出”yes“的话有两个办法:
一个是把拷贝的大小改成128,也就是memcpy(string, str, 128);
二是将string,也就是”yesabbbb“的第4个字符也就是‘a’,变成‘\0’,即string[strlen(str)] = '\0';

然后再看printf("%s\n", string);这个函数,在%s后面加\n是为了换行,如果你不加\n的话你会发现当你执行完这段程序屏幕输出”yesabbbb“的时候,你的光标是紧跟在这个字符串后面的
一旦你加了‘\n’,光标就会在这个字符串的下一行出现了,所以\n起的是一个换行回车的作用

至于在什么情况下用他们,一般情况下在对字符串操作的时候用\0
对于你觉得需要换行的时候就用\n
一个是对字符串的操作一个是对行的操作,应该很容易理解

\0是在字符串后用的,
\n是在换行的时候用。

一般是针对字符串的操作的.
加下\0是告诉计算机遇到它后字符变量结束.
而\n只是代表换行的意思.字符串中可以有任何多个\n,\t,\r...但肯定最结束只有一个NULL即\0结束的.

\n表示回车换行
\0表示空值(数值为0)
'\0'与'0'是有区别的,在机器内部分别表示为00000000和00110000。其中二进制00110000是十进制数48,是字符'0'的ASCII码值。


求问c语言中的0 什么时候用0表示 什么时候用1e-6表示
整数的时候用0。与浮点数比较的时候可以用1e-6

C语言中,问号表示什么意思?
?用来判断条件的真假,:用来根据判断结果决定取值。如(a<b)?a:b"是一个"条件表达式",如果a

c语言中求和问题:变量i 的初始值何时设置为0,何时设置为1?
} 你看到了这里的' i '从24一直加到124,也就是说循环运行了100次,而真正决定这个公式的初始值为initN,你如果要问为什么这个值要一定是1,那么你忽略了公式,你看一下公式,是从1开始加的,所以基数的值要为1,当然一般编程不会这么写程序,因为在这道题中可以用' i '来同时起‘ initN ’...

问下C语言中引用结构体成员时,如果该成员是个整型数组,如何引用该数 ...
可以的 include<stdio.h> struct number { int a[10];};int main(){ number nu,*p;p= νfor(int i=0;i<10;i++){ nu.a[i]= i;} for( i=0;i<10;i++){ printf("%d ",p->a[i]);} printf("\\n");return 0;} ...

c语言问号是什么意思
问号是标点符号之一,在语法学中称为疑问号,表示一个疑问句的结束。在句子中相当于一个附加语,表明问话者希望得到回答或提醒对方注意问题的重要性。例如在C语言中,使用问号可以表示条件语句中的“否则”的意思。C语言中的问号还有一种特殊用法,称为三目运算符,又称为条件表达式。它是由一个问号和...

C语言问题,输入一串字符时,scanf和getchar是分别读到什么结束?
读取字符串的结束 和读入格式有关系 例如:scanf("%s %s",s1,s2) 执行时 遇到空格符后S1结束,剩余的字符串就给S2了 scanf("%s,%s",s1,s2) 这个输入字符串时,需要用逗号将两个字符串隔开。--- 我解释的也不是很全面,希望对你有所帮助,很高兴和你一起讨论和学习C\/C++ ...

C语言问题,c-'0'是什么意思
0x30~0x39, 所以当c在‘0'~'9'的范围中时,c - '0' 就相当于计算c的实际数值,例如 c 是 '1', 则 c - '0' = 1, 把字符值转为数字值了 include<stdio.h> int main(){ int a,b;a=!0;b=!!0;printf("a=%d,b=%d\\n",a,b);return 0;} \/*输出结果:a=1,b=0 \/ ...

C语言中,=和==到底有什么区别,=要什么时候用,==又该什么时候用??? 谢...
=是赋值的时候用的 比如说int i = 5;也就是给变量i赋值为5 ==是在判断中使用的 比如说if(i == 5) i++;也就是如果i的值为5,就让i加一

C语言里面?问号什么意思?:什么意思?
C语言里面?、:是三木运算符,其中?用来判断条件的真假,:用来根据判断结果决定取值。如(a<b)?a:b"是一个"条件表达式",如果a

c语言中" : "(冒号)和问号是什么意思
bool a = 1>3?false:true;?: 是三元运算符由条件运算符组成的条件表达式的一般形式为:表达式1 ? 表达式 2 : 表达式3,其中表达式 1、表达式2、表达式3,既可以是一个简单的表达式,又可以是由各种运算符组成的复合表达式。计算过程很好理解:先求表达式1的值, 如果为真, 则求表达式2 的值并把它...

濮阳县15844617764: c语言程序设计中什么时候用& 什么时候用&&? -
泰将优芙: c语言中没有&这个符号的,只有&&,这个运算符是双目运算符,是与的意思,, 例:a=4 a++&&4 这个表达式的结果,是1,,与的运算规则是,表达式1为0,则不运算表达式2,表达式1为1,则运算表达式2.

濮阳县15844617764: C语言中'#"作用 -
泰将优芙: 头文件前使用#,表示预处理,加入到工程中一并编译. 其他用法: 在printf中的%后面的那个#是用来格式说明的, 如果在g,G,f,e或者E代码前加一个#,可以确保显示一个小数点(即使没有小数位), 在o之前加上则输出八进制, 在p,x或者X之...

濮阳县15844617764: C语言中的运算符的&与&& 和 |与||有什么区别,用在什么地方 -
泰将优芙: &和|是位运算.&&和||表示逻辑关系,&&和||表达式最终的值只可能是真(1)或者假(0),而位运算表达式的值不限于0和1 两者在特定情况下的效果是相同的.操作方法如下: 1、首先这里用到字符的ascii码,A的ASCII码为65,之后用scanf...

濮阳县15844617764: &在c语言中什么意思 -
泰将优芙: 主要有两个意思: 1. 取地址符,用在指针表达式或输出变量地址时 例如 int a; &a就是表示变量a在内存中地址 2. 二进制位与位运算符 1&1=1 0&0=0 拓展资料:C语言主要特点: 1. C语言是高级语言.它把高级语言的基本结构和语句与低级...

濮阳县15844617764: c语言中的&取地址是在什么时候要用,为什么要用? -
泰将优芙: 这个···不是吧.源码发上来,数组作为函数实参的时候,直接用数组名就行.不用取地址了.有哪里意见不一致,请提出交流.

濮阳县15844617764: c语言什么时候用到& -
泰将优芙: &: 1、取地址 &a就是求a的内存地址 2、声明引用时 int &a=b;声明a是b的引用 3、位与运算 a&b &&: 1、逻辑与运算 x<y&&x>z

濮阳县15844617764: 数据结构 C语言 中参数传递的*与&用法 -
泰将优芙: &,在c++中作为引用形参,c中是不能这样用的,数据结构中使用的类c写的,为了保持兼容性就是用了引用形参!!!**,是用的c中的双指针的问题,就是说指向指针的指针,即指针的内容在函数中可以被改变,如果用单指针指针的话,对指针的改变不会被带出函数!! 这一点是难点,我以前也在这而迷惑了好长一段时间,好好想想等你明白了你就对指针有了个更深入的了解了!! 又不明白的可以交流下!!随时欢迎!!

濮阳县15844617764: C语言中"&&"的意思和用法? -
泰将优芙: &是取地址符,就是获取地址,比如 int a; 那么 &a,就是获取 a 的地址, &&是“且”的意思,比如 int b; 那么 b>2&&b<3 就是b>2并且b<3

濮阳县15844617764: c语言中的&&和&有什么区别为什么总用&&不用 -
泰将优芙: ~是位运算符,在二进制中是按位取反的意思,也就是0变成1,1变成0.例如:二进制数:a = 1010 1111 那么, ~a = 0101 0000 所以: b = ~a 就表示:0101 0000 了.

濮阳县15844617764: 在C语言中"&"这个符号有什么作用 -
泰将优芙: 一、&是取地址符,这同*是相对应的,*是取地址中的内容,而&是去该内容的地址; 二、&是按位取与,1&1=1;1&0=0;0&0=0;这与|是相对应的,|是按位取或:1|1=1;1|0=0;0|0=0;例如15&16=0(将15 16分别转换成二进制的,然后从高位到低位按位取与)15|16=31(同理); 注意不要和&& ||弄混了,&&是逻辑与,||是逻辑或;他们的左右都一定是bool型的数值或者表达式;结果也是一个bool型的;

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网