计算字符串中的字符

时间:2014-03-13 19:16:56

标签: c comparison

此代码的目的是计算输入字符在输入字符串中的使用次数。

代码是这样的,它给出错误输出K = 41并且由于数据类型的范围有限,警告比较总是假的。

int main()
{
    int i,k,x=0;
    char ch;
    char str[1000];
    printf("Write your Word!\n");
    gets(str);
    printf("Write character to Search\n");
    scanf("%c",&ch);
    x=strlen(str);
    printf("%d",x);
    printf("%d",k);
          for(i=0;i!=x-1;i++){
             if(str[i]=='ch'){

              k++; }           
              }           
     printf("%d times used",k);
     getch();

 return 0;


    }

1 个答案:

答案 0 :(得分:0)

一些问题:您没有初始化k,比较应该是变量ch,而不是常量'ch'。这应该有效(注意我还更改了printf以获得更清晰的输出):

int main() 
{
    int i,k=0,x=0;
    char ch;
    char str[1000];
    printf("Write your Word!\n");
    gets(str);
    printf("Write character to Search\n");
    scanf("%c",&ch);
    x=strlen(str);
    printf("strlen = %d\n",x);
    for(i=0;i!=x-1;i++){
        if(str[i]==ch){
            k++; }             
        }                 
     printf("%d times used\n",k);
     getch();
     return 0;

}