C语言 如何判断到达字符数组中字符串的尾部?如果用while(c[i]!='\0') {i++;}的话,数组里面有字符‘0’

作者&投稿:镡纪 (若有异议请与网页底部的电邮联系)
在计算机二级c语言中 如何用while语句的循环条件判断两个字符串是否到达结尾 ?~

while(str[i]!='\0')//'\0'表示字符串结束的标志 { printf("%c",str[i]); i++; } //可以这样写 如有不懂欢迎追问

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

while(c[i]!='\0') //你这句话意思,如果c[i]的值不为0,进循环。
{
i++;
}
那么,数组里有字符'0'的话,显然不会停止。因为0不等于'0', 翻下书看看'0'的ascii码值是多少。
如果c是一个字符串,如果c[5]的值为0,那必然已经到了字符串的最后一个。

'\0' ASCII码是 0 不是字符'0'的意思,如果数组里有字符'0'不影响的


霍邱县15222137098: C语言中怎么查找字符串数组中的某个字符? -
东郭闹恩诺: #include void main() { char sh[20];int i;gets(sh);for( i=0;i<20;i++)if(sh[i]!='@')printf("没有字符 @\n");elseprintf("有字符 @\n"); } //你用break,第一只就break循环了

霍邱县15222137098: C语言中怎么查找字符串数组中的某个字符?
东郭闹恩诺: #include <stdio.h> #include <string.h> void main() { char sh[20]; int i; gets(sh); for( i=0;i<20;i++) if(sh[i]!='@') printf("没有字符 @\n"); else printf("有字符 @\n"); } //你用break,第一只就break循环了 #include <stdio.h>#include <string.h> void...

霍邱县15222137098: C语言中如何查找字符串数组中的某个字符
东郭闹恩诺: 错误在于你判断了第一个非@字符时就已经输出没有字符@退出循环了所以不会检测@了.改成下面就行了: #include <stdio.h> #include <string.h> int main() { char sh[100],n=0; gets(sh); for(int i=0;sh[i];i ) if(sh[i]=='@') n ; if(n==0) printf("没有字符 @\n"); else printf("有字符 @\n"); }

霍邱县15222137098: c语言中输入一个字符串并判断在数组中的第几位应该怎么判断啊? -
东郭闹恩诺: strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串.如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL.

霍邱县15222137098: c语言 判断字符数组里存放的是否为数字 -
东郭闹恩诺: 输入字符串,遍历该字符串判断每个字符是否是数字字符,是就存入整数数组,并且数字个数加1,最后输出整数数组.参考代码:#include<string.h>#include<stdio.h> int main() { int b[100],n=0,i; char a[100]; gets(a); for(i=0;a[i]!='\0';i++) if(a[i]>='0'...

霍邱县15222137098: C语言,如何判断一个字符数组中元素是否包含除字母(a - z,A - Z)和数字(0 - 9)以外的东西. -
东郭闹恩诺: C语言中,高维数组本质上其实是复数组的数组,这点很重要.比如二维数组是其包含的一维数组的连制续排列,所以对于数组int myArray[3][3],myArray和myArray[0]在表达式中的值是一样的(因为两者都是它们起点的2113地址).这就和一5261维数组int myArray2[3],整个数组的地址和myArray2[0]的地址是一样的是同一个道理.4102因为myArray是二维数组,myArray[0]是一个一维数组,所以后者本身在表达式中出现表示的仍然是它的地址,而1653不像一维数组的myArray2[0]表示它的值.

霍邱县15222137098: 怎么用C语言判断数组里面的字符是汉字还是其他. -
东郭闹恩诺: asic 代码值

霍邱县15222137098: c语言中怎么判断一个字符数组中的一项和输入的字符是否一样 -
东郭闹恩诺: 假设数组是a[20] int i; char s; scanf("%c",&s); for(i=0;i<20;i++) { if a[i] == s;printf("YES") elseprintf("no"); }

霍邱县15222137098: 求问 如C语言中 何在一个二维的字符串数组中查找符合的字符 -
东郭闹恩诺: 这种崩溃多半是数组访问越界.如果你的bookname没有100个成员,那么只要访问bookname[i]就会发生越界 for(i=0;i<100;i++)改成for(i=0;i<bookname.Len...

霍邱县15222137098: C语言 如何判断输入的是数字还是字符 -
东郭闹恩诺: 你这个程序与“输入的是字符还是数字”没有关系. 关键是不能用double类型的r与0直接这样进行比较:r!=0应该像下面这样写: const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x <= EPSINON) 不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式.

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