首先获得一个字符用ch=getchar()或者scanf ("%c", &ch);
其次判断字符相等直接用==
接着j没有定义
最后输出int数组用循环
参考代码:
#include
#include
int main()
{
char a[80] = "abcdefgh\0";
char ch;
int i, m, b[80];
int flag = 0;
ch = getchar();//获取一个字符
m = strlen(a);
for (i = 0; i < m; ++i){
if (a[i] == ch){//找到了,直接判断是否相等
b[flag] = i+1;//记录位置
flag += 1;
}
}
if (flag == 0)printf ("no");
else {
printf ("%d\n", flag);
for (i = 0; i < flag; i++){//对位置进行输出,用循环
printf ("%d ", b[i]);
}
printf ("\n");
}
return 0;
}
可以用find函数试一下。