使用if条件比较c中的int和char


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;

最新更新