プログラミング(ポインタ/文字列処理)を教えて下さい
プログラミング(ポインタ/文字列処理)を教えて下さい
英単語(最大で15文字まで)を*が現れるまで1つずつ読み込み、読みこんだ英単語の文字数を計算して表示するプログラムです。英単語は文字型配列を使用します。
1、関数の引数及びその中の実行文中で配列を使用
2、関数と引数及びその中の実行文中でポインタ変数を使用する
この2つのプログラムを別々に作らなければならないのですが、当方関数をの使い方が今一分らないので以下のプログラムを関数での作成方法を教えて下さい。
これが関数で作らなければいけないプログラムです
#include<stdio.h>
int main(void)
{
char mojiretu[15];
int con[15]={0},i,j;
printf("課題データ\n");
scanf("%s",mojiretu);
while(mojiretu[0]!='*')
{
for(j=0;mojiretu[j]!='\0'j++)
{}
con[j-1]++;
scanf("%s",mojiretu);
}
printf("文字数\t出現回数\n")
for(i=0;i<=14;i++)
printf("%d\t%d\n",i+1,con[i]);
}
こちらはポインタ変数を用いていますが関数になっていません。
#include<stdio.h>
int main(void)
{
char mojiretu[15],*pmoji
int con[15]={0},i,j;
pmoji=&mojiretu[0];
printf("課題データ\n");
scanf("%s",mojiretu);
while(*pmoji!='*')
{
for(j=0;*(pmoji+j)!='\0'j++)
{}
con[j-1]++;
scanf("%s",mojiretu);
}
printf("文字数\t出現回数\n")
for(i=0;i<=14;i++)
printf("%d\t%d\n",i+1,con[i]);
}
2つとも正常に動いてます。どちらか一つでもいいので関数での書き方を詳しくおねがいします。