char c[50];
scanf("%s",c);
int counter;
for(int i=0;i<strlen(c);i++){
for(int j=0;j<=9;j++){
if(j==c[i]) // this line not comparing
counter+=1;
}
将整数(j(与数组c中的数字进行比较,同时调试它不是比较
您需要比较表示数字的字符代码。例如,可以通过以下方式
if ( j + '0' == c[i] )
请注意,代码片段中的变量计数没有初始化。
int counter;
你需要初始化它
int counter = 0;
@pmg
指出的另一种写入循环的方法是以下
for( char j = '0'; j <= '9'; j++ ){
也可以使用标准的C函数isdigit
来代替内部循环。
if ( isdigit( ( unsigned char )c[i] ) ) ++count;