複数の数字,アルファベットを入力とし、その中から 0 が何番目に存在するかを表示する プログラムを作成してください。getchar 関数を用いること。関数 void find_zero(char *a, int n)を定義して使用すること。
という問題に取り組んでいるのですが、どうすればいいのかわかりません。もしよろしければご教授願います。
配列の数は勝手に決めていいそうです。
以下は私が書いてみたソースです。
#include <stdio.h>
void find_zero(char*,int);
int main(void)
{
int i;
int ch;
int length;
char a[100]={'\0'};
i=0;
while((ch=getchar())!='\n')
{
a[i]=ch;
i++;
length=i;
}
find_zero(&a[100],length);
return 0;
}
void find_zero(char *a, int n)
{
printf("Zero in ");
int i;
char *b;
for(i=0;i<n;i++)
{
b=*a+i;
if(*b==48)
printf("%d ",i);
}
printf("\n");
}