c语言求字符串长度?
我推荐2种方法:-------------------------方法一:用库函数strlen()举例:#include<stdio.h>#include<string.h>int main(){ char a[100]; int num; printf("请输入字符串,enter键结束:"); gets(a); num=strlen(a);/*这里,strlen()就是计算a的输入长度,一般,有了这一步,我会加一步a[num]='\0';*/ printf("你刚才输入了%d个字符\n",num); return 0;}---------------------------------方法2:直接输入时计算,这种方法,纯粹是在一边输入一遍计算具体是,定义一个count,然后做判断,没输入一个字符,count加1,即count++;举例:#include<stdio.h>#include<string.h>int main(){ char a[100]; int num=1;//进入while循环的条件 int count=0;//count计算字符输入情况 int i=0;//数组下标 printf("请输入字符串,按阿拉伯数字0结束:"); while(num) { a[count]=getchar(); if(a[count]=='0') //当输入0,结束 num=0; count++; } printf("你刚才输入了%d个字符\n",count); return 0;}注意,第2种方法中,你按enter键,也算字符,只不过是空字符,你看不到而已。希望对你有帮助。
c语言怎么增加数字长度?
您好,在C语言中,可以使用数组或指针来增加数字的长度。
1. 使用数组
可以定义一个包含多个元素的数组来存储较大长度的数字。例如,可以使用以下代码定义一个包含100个元素的整型数组来存储100位数字:
```c
int num[100];
```
然后可以通过循环等方式来依次设置每一位数字的值。
2. 使用指针
也可以使用指针来动态分配内存空间来存储数字。例如,可以使用以下代码来分配一个包含100个整型变量的内存空间:
```c
int* num = (int*)malloc(100 * sizeof(int));
```
然后可以通过指针来访问每一位数字的值。
需要注意的是,使用指针来分配内存空间后,需要在使用完后释放内存,避免内存泄漏。可以使用free函数来释放内存空间。
```c
free(num);
```
#include <stdio.h>
#include <string.h>
#define N 1000
void main()
{
char str[N];
int len[4]={0};//用于存放长度和统计相应字符个数
int i;
do
{
printf("请输入不少于10长度的字符串:\n");
gets(str);
}while(strlen(str)<10);
len[0]=strlen(str);//字符串的总长度
for(i=0;i<len[0];i++)
{
if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z')
len[1]++;//计算出现字母的个数
else
if(str[i]>='0'&&str[i]<='9')
len[2]++;//计算出现数字的个数
else
len[3]++;//计算出现其他字符的个数,如果输入汉字的话,这个数值可能不太正确。。因为中文占用两个字节,即16位。。。而英文字符1个字节即8位
}
printf("\n");
printf("已输入字符串的总长度为%d\n字母个数为%d\n数字个数为%d\n其他字符个数为%d",len[0],len[1],len[2],len[3]);
}