gets函数会在输入完字符后自动补上一个\0,所以用这个特性可以计算出字符串是否结束。

因为数字在字符中对应的ascii码就是0~9,只要遇到小于9的字符就是数字,所以计数器加一

#include<stdio.h>


int c (char *);
 
int main()
{
	char ch[100];
	char *p_ch = ch; 
	int i, j = 0;
	
	gets(ch);
	
	j = c(ch);
	printf("一共有%d个数字",j);
	return 0;
}

int c(char *p_ch)
{
	int i,j;
	for(i = 0;; i++)
	{
		if(p_ch[i] == '\0')
		{
			return j;
		} 
		if(p_ch[i] <= '9')
		{
			j++;
		}
		
	}
	
	}

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐