❶ 如何用c语言判断一个数是数组中
对于字符数组str[N],判断方法有以下三种:
第一种:用库函数strlen
1
len = strlen(str); // 数组长度
第二种:利用计数器
1
2
int i=0;
while(str[i++] != '\0'); // 数组str的长度为i
第三种:利用sizeof函数
1
len = sizeof(str)/sizeof(str[0]); // 数组长度
对于其他类型的数组,都可以用字符数组的第三种方法,第三种方法是通用的。
❷ c语言 字符数组 判断题
正确。
"hello"字符串中,最后一个字符为'\0',因此s有6个元素。
❸ c语言在数组中怎么判定是不是有特殊字符
你这个特殊字符是范围是什么,是除了0-9,A-Z,a-z都算么?标点符号怎么算? 你可以遍历数组, 然后判断条件, 比如只有0-9,A-Z,a-z之外的都算特殊字符的话:就这样:
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= '0' && str[i] <= '9')) {
// 正常字符处理方式
} else {
// 特殊字符处理方式
}
如果标点符号不是特殊字符, 就稍微更改下条件, 具体查看下ASCII码的顺序就很清楚明了
❹ c语言判断字符数组相等
因为你定义的a是一个字符数组,而b是一个字符串,两者直接比较当然不等,你在输入完a后应该加上 a[6]='\0';
这样就对了。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<windows.h>
#include<conio.h>
int main()
{char a[7];
char b[7]="111111";
int i=0;
system("color 84");
printf(" ");
printf("【请输入密码】:\n\n");
printf(" ");
for (i=0;i<=5;i++)
{a[i]=getch();
printf("*");
}
a[6]='\0';
getch();
printf("\n");
printf(" ");
if(strcmp(a,b)==0)
printf("密码正确,稍等进入。\n");
else
printf("密码错误!请重新输入\n");
system("pause");
}
❺ C语言判断两个长度不等的字符数组是否相等的方法
用strcmp阿,不管长度是否相等都能用。
原型:extern
int
strcmp(const
char
*s1,const
char
*
s2);
用法:#include
<string.h>
功能:比较字符串s1和s2。
一般形式:strcmp(字符串1,字符串2)
说明:
当s1<s2时,返回值<0
当s1=s2时,返回值=0
当s1>s2时,返回值>0
即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
❻ 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'&&a[i]<='9')
b[n++]=a[i]-'0';
printf("共有数字%d个\n",n);
for(i=0;i<n;i++)
printf("%d ",b[i]);
return 0;
}
/*
输出:
adsf4554ads5f4sd5a4f65sd45f
共有数字12个
4 5 5 4 5 4 5 4 6 5 4 5
*/
❼ 用C语言 输入一串字符串,将其放到数组中,判断字符串中是否有想要的字符,如果
字符串里找一个字符,输出找到的个数,程序如下:
#include <stdio.h>
int main()
{
char s[100];
char t;
int i,n=0;
printf("input one line string:\n");
gets(s);
printf("input a char which you want to search:\n");
fflush(stdin); //为了读入一个字符,要先清除一次输入缓冲区
scanf("%c",&t); //读一字符
for (i=0;i<strlen(s);i++) if (s[i]==t) n++; //判断
printf("there are %d char %c in the string\n",n,t); //输出
return 0;
}
❽ c语言在数组中怎么判定是不是有特殊字符
#include
char str[100];
gets(str);
for(i = 0; i < strlen(str); i++)
{
if( !( (str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z') || (str[i] >= '0' &&str[i] <= '9') ) )
{
//处理特殊字符
}
}不知道你说的特殊符号包括什么,如果少的话,可以用直接比较,多的话,就用排除
❾ C语言中,如何判断一个字符数组是空的
那要看你字符数组定义的时候有没有给初值。
比如char a[10];这元素值都是随机值,无法判断。
如果char a[10]={'a','b','c','d','e'};这样除了前5的元素后面都是0。可以用0来判断。
如果char a[10]="abcde";这样由于“abcde”是字符串常量,内存中实际还有最后一个0.所以a数组中第6位就是0。同样可以用0来判断。
所有有结束符号0的数组,都可以使用<shring.h>头文件下的函数int strlen(char *)来获得字符数组中元素个数。
❿ c语言字符数组如何比较
1、C语言中字符是使用char来定义的,使用关系运算符(>,<,=)即可对字符进行比较。在编译器中定义a、b两个字符型变量,并为其赋值,按照如图所示编写代码。