c语言中while(s)与while(s i0)的区别

2020-11-25 09:25:14 字数 3561 阅读 1956

1楼:南京新华电脑专修学院

果s是一个char型指针;0'!=')

也即int i=0

while(s[i];

int i=0

while(s[i];

是对的,也即char *s

while(*s!=0)与while(*s!='\0')的区别 5

2楼:步行者

while(*s!=0)

表示指针s指向的值不等于整数0 (int *s;)while(*s!='\0')

表示指针s指向的值不等于字符串结束符'\0' (char *s)

3楼:玄冥三郎

0 是数字 0 ,ascii码是48。

'\0' 是ascii码为0的字符,不显示。

c语言中, gets(s);while(s[i]!=\'\\0\')是什么意思啊

4楼:

get(s);

是获取字符串s或者数组s

while(s[i]!=\'\\0\')应该是表示错误。

表示一个循环体里面判断语句为:

判断字符串s中第i+1个元素是否为字符串结束符号‘\0’

表达式中运用到转义字符

因为c中某些特殊符号是需要用到转义字符的否则无法显示例如:'要表示为:\'

"要表示为:\"

\要表示为:\\

但是楼主想表达应该不是这样,要是想判断字符串是否结束可以直接改成while(s[i]!=‘\0’);因为‘’单引号不是你想要的字符,单引号括着的只是表示你想它判断的具体字符\0

而现在你判断语句变成要s[i]同时不等于‘ \ 0 ’这4个字符,是不可能的!

请楼主仔细想清楚自己想表达的意思!

如有问题可以继续提问

5楼:匿名用户

gets(s);

获取一行输入

while(s[i]!='\0') 当字符不为空时就结束执行

6楼:匿名用户

while(s[i]!=\'\\0\')

楼主是想表达用第一个\来转义那个 '

用第二个\来转义第三个 \

用最后那个\来转义 '

这样好像不行呢,

7楼:匿名用户

楼主是不是写错了 应该是while(s[i]!='\0')呀

一个字符串的结尾标志就是'\0' 是来判断这个字符串是不是到了末尾了

8楼:小拽杨

gets就是接受一个字符串;

字符数组。c语言中这个有区别吗,while(s [ i ] )和while(s [ i ] !=`

9楼:匿名用户

没有区别。

都是表示while循环直到字符串s结束时停止循环。

10楼:匿名用户

while(s [ i ] )和while(s [ i ] !=`\0')是等价的

while((*t++=*s++)!=0)在c语言中的意思

11楼:匿名用户

先将s指的值赋给t,再看t是否不等于空,是则执行while下面的语句,否则跳出while循环!

示例如下,长度为5,所以只有前五次不等于空,所以只输出了五个ok:

12楼:

从句法上分析,先将*s 的值赋给*t 因为赋值表达式的值为左边的值,所以接下来判断*t != 0。最后再执行*t++, *s++。

13楼:匿名用户

先赋值:*t = *s

while(*t != 0)

s指向下一个,t指向下一个

c语言中while(a[i]!='\0')中的'\0'是什么意思

14楼:南京新华电脑专修学院

果s是一个char型指针;0'!=')

也即int i=0

while(s[i];

int i=0

while(s[i];

是对的,也即char *s

15楼:匿名用户

'\'是个转义符,'\0'他的值就是0,那你问为什么不直接用0,如果用0的话编译器至少得把他当做整数来对待,就占4个字节,'\0'强调了是一个字节的0值,类似的还有比如\r(0xd),\n(0xa),很多键盘无法输入的或者在源**中不能更好表达的就用转义符来代替了

c语言中while(" ")什么意思,它跟while(1)和while('0')有区别么

16楼:匿名用户

" "、1、'0'有区

别:分别是一个有效地址、整数1、整数48。

while(" ")、while(1)、while('0')没有区别:结果都是 while(true)。因为while这里要求的是一个逻辑表达式," "、1、'0'三者都是正整数,都不是零,非零c语言判定为逻辑真。

为好玩吧,或炫耀某种c语言技艺。

c++中while(!s)是什么意思啊。。。。。

17楼:匿名用户

while(!s)等价于whlie(s==0)

while(s)等价于whlie(s!=0)

18楼:匿名用户

c语言中, gets(s);while(s[i]!=\\'\\\\0\\')是什么意思啊 get(s); 是获取字符串s或者数组s while(s[i]!=\\'\\\\0\\')应该是表示错误。

表示,bxabxu

19楼:忧伤___阿甘

当s==0的时候结束循环,比如while(1)就是恒循环。

20楼:匿名用户

s为0或false的时候循环

21楼:方胜龙94拽

就是当s=0是执行while后面的语句

c语言 翻译一下while(s[i]=t[i++]); 为什么字符串末尾的\0也能被复制??

22楼:古古怪怪

此while循环中,判断条件可以说就是s[i]值真假(其ascall码非0为真,0为假)。所以当循环结束的时候 s[i]=0,也就是\0。

23楼:匿名用户

s[i]先被赋值,然后再判断s[i]是不是0,当s[i]==0时才结束,这时'\0'已经复制给s了

24楼:匿名用户

因为只有当字符串t中的'\0'赋给字符串s中时才能退出循环。

25楼:殷欢和詹理宝

\0 是一个字符串的结束标志

26楼:匿名用户

因为是先赋值,再判断

27楼:匿名用户

本省字符串就存储‘\0’

c语言中与有何区别,c语言中%c与%s的有什么区别?

1楼 匿名用户 在定义变量时 是定义指针 是引用 注 好象c没有引用 例如 int pvar null 定义一个int类型指针int var 0 int pvar var 定义一个引用 并且定义时要指定所引用的对象 在使用时 是解指针 即取其指向的变量的值 是取地址int var 10 int pv...

C语言中与的区别,c语言中“&”与“*”有什么区别?

1楼 匿名用户 是取地址 叫解引用,意思是取地址的内容 举例 int a 3 int b a 这里 表示取a的地址 b就是去b的地址的内容就是3 2楼 诡其辞 s形式表示取变量s的地址 a b形式表示a与b之间进行位与运算。 s形式表示指针变量指向的位置 a b形式 呵呵!不消说了。 3楼 匿名用户...

C语言中的“行指针”与“元素指针”有什么区别

1楼 键盘雀跃 int a 4 1 2 3 4 a 0 a 1 a 2 a 3 a是一维数组名,代表数组的首地址 也就是a 0 a 1 指针移动2个字节,指向下一个数组元素,就是a 1 int a 3 4 a 4 或a 4 或a 3 4 都可以表示行指针 操作a是二维数组名,代表二维数组的首地址,也...