c语言如何计数
发布时间: 2023-01-06 13:53:16
① c语言输入数据统计数字个数
这个简单,只要变量字符串,判断每个字符是否是数字(str[i]>='0' && str[i] <=9就是数字)。如果当前位不是数字,但前一个字符是数字,就说明前面有过一个数字了(数字计数+1).
//比如:
#include<stdio.h>
intmain()
{
ini,cnt=0;
charstr[11]="ab12cd34dd";
for(i=1;i<11;i++)
if((str[i]<'0'||str[i]>'9')&&(str[i-1]>='0'&&str[i-1]<=9))
cnt++;
printf("个数%d "cnt);
return0;
}
注意保存字符串的数组,多定义一位,最后一个元素必须是0(也就是结束符合‘ ’);比如上面
我写的常量"ab12cd34dd",只有10个字符,实际内存中有11个字符,最后一个字符就是‘ ’,
所以数组我定义11位,循环也是11位
② C语言中strlen函数是怎么计数的
char str[]=" ab 12\""
字符1: 转义字符:水平制表符 ,其ASCII 值9(十进制)
字符2、3:ab
字符4: 转义字符,换行符,其ASCII 值10(十进制)
字符5: 12 转义字符,其中012是8进制数,其ASCII值 同 .
字符6:\ 转义字符 反斜杠,其ASCII值 92(十进制)
字符7:" 转义字符 双引号",其ASCII值 34(十进制)
2. printf("%d ", strlen("IBM 0121\"));
字符1、2、3: IBM
字符4: 转义字符
字符5、6、7:012
字符8:1 其ASCII值 1(8进制).
字符9:\ 转义字符 反斜杠,其ASCII值 92(十进制)
3.printf("%d ",strlen(" "