此代码的目的是计算输入字符在输入字符串中的使用次数。
代码是这样的,它给出错误输出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;
}
答案 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;
}