C语言中!='\0' 是什么意思

结束的意思吗?当char=\0..是的话是什么结束`举个例好吗... 结束的意思吗?当char=\0..是的话是什么结束`举个例好吗 展开
 我来答
过儿儿儿儿儿儿
2018-12-21 · TA获得超过1090个赞
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

!='\0'.就是运行到字符串结尾时结束。

!的意思是非,亦可以理解成不。‘\0’是字符串的结束符号,由编译器自动加上。

比如说,把一个字符串赋值给数组:u8 str1[]={"cxjr.21ic.org"};实际上数组str1在内存中的实际存放情况为: c x j r . 2 1 i c . o r g '\0' 这后面的'\0'是由C编译系统自动加上的。

所以在用字符串赋初值时一般无须指定数组的长度, 而由系统自行处理。 把字符数组str1中的字符串拷贝到字符数组str2中。串结束标志'\0'也一同拷贝。 


但是……也有一些例外情况发生。比如,当数组长度不够。假设我们指定了数组长度,如:u8 str1[13]={"cxjr.21ic.org"};由于字符组str1的长度为13,所以后面的信息会丢失,即'\0'丢失。

另外,如果在给数组赋值时,把每个字符单独用引号括起来。也会丢失'\0'。如:u8 str1[]={'c','x','j','r','.','2','1','i','c','.','o','r','g'};如果希望数组以'\0'结束,则要么写成:u8 str1[]={"cxjr.21ic.org"};要么写成(人工添加'\0'):u8 str1[]={'c','x','j','r','.','2','1','i','c','.','o','r','g','\0'};要么写成(故意给数组预留一个空位):u8 str1[14]={'c','x','j','r','.','2','1','i','c','.','o','r','g'};。

扩展资料:

C语言书写规则:一个说明或一个语句占一行;用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行;低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。

参考资料:

百度百科-C语言

小莫mxs
2018-12-10 · TA获得超过816个赞
知道答主
回答量:5
采纳率:0%
帮助的人:788
展开全部

在C语言中,!='\0' 是没有结束的意思。

其中,!=是关系运算号,\0(空字符)是字符串的结束码。

例如:

char s[] = "10";

printf("%s\n", s);

printf("s[1]:%d\n", s[1]);

printf("s[2]:%d\n", s[2]);

printf("s[1]:%c\n", s[1]);

printf("s[2]:%c\n", s[2]);

char u[] = {"hello"};

cout << sizeof(u) / sizeof(*u) << endl;   

char v[] = "hello";

cout << sizeof(v) / sizeof(*v) << endl;

打印结果如下图:

扩展资料:

在c语言中,运算符总共包括以下十类:

1、算术运算符

用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(--)共七种。

2、关系运算符

用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。

3、逻辑运算符

用于逻辑运算。包括与(&&)、或(||)、非(!)三种。

4、位操作运算符

参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

5、赋值运算符

用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。

6、条件运算符

这是一个三目运算符,用于条件求值(?:)。

7、逗号运算符

用于把若干表达式组合成一个表达式(,)。

8、指针运算符

用于取内容(*)和取地址(&)二种运算。

9、求字节数运算符

用于计算数据类型所占的字节数(sizeof)。

10、特殊运算符

有括号(),下标[],成员(→,.)等几种。

参考资料:c语言运算符号_百度百科

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浪尖讨生活9z
高粉答主

2018-10-13 · 每个回答都超有意思的
知道小有建树答主
回答量:298
采纳率:100%
帮助的人:13.4万
展开全部

!='\0' 是没有结束的意思。\0(空字符)是字符串的结束码。例如:在求字符串长度时,有一句是while (ch[i++]!='\0')

当字符ch[i++]不等于结束符'\0'时.字符串最后都会有一个结束符,例如,
char a[100];
scanf("%s",a);
你输入字符串china之后,那么字符串数组中
a[0]=='c',a[1]=='h'.a[5]=='a' a[6]=='\0'

扩展资料:

\0代表字符数串的结束标志,也就是字符数组的最后一位加上的'\0',\0的ASCII码为0,也就是空字符,上面的就是从字符数组的开始读取,直到最后字符串结束标志'\0'。

参考资料:ASCII百度百科

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
529669903
2011-01-18 · TA获得超过405个赞
知道小有建树答主
回答量:158
采纳率:87%
帮助的人:112万
展开全部
字符串都是以'\0'结束的,如
char str[6]="Hello";
而在内存中则是"Hello\0"
即你申请了6个空间,但只能用5个,最后一个用来放'\0'。表示字符串结束。
例如下面一个查找str末尾的程序
while(*str != '\0')
{
str++;
}
有时也可以把'\0'直接放在字符串末尾,用来表示该字符串结束。如:
char str[10];
for(i=0;i<5;i++){
*str=(char)getchar();
str++;
}
str='\0';
希望对你有用
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
labikkkk
2011-01-18 · TA获得超过383个赞
知道小有建树答主
回答量:201
采纳率:0%
帮助的人:199万
展开全部
!的意思是非,亦可以理解成不。‘\0’是字符串的结束符号,由编译器自动加上。!='\0'.就是运行到字符串结尾时结束。一般用在循环之中。比如
#include<stdio.h>
main()
{char a[10]="abcder";
int i=0;
while(a[i]!='\0')
{printf("%c",a[i]);
i++;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(16)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式