0
ユーザーに文字列を入力するように指示するコードを記述しようとしています。次に、関数 'initialize'を使用して配列のすべての値を 'a'に変更します。最後の値は '\ 0'に変更されます。呼び出し関数は更新された文字列を出力します。ポインターを使用して関数の配列の値を変更する際の問題
#include <stdio.h>
#include <string.h>
void initialize(char (*firstString)[50]);
void main(void)
{
char firstString[50];
printf("Enter a string: ");
scanf("%s", firstString);
printf("%s", firstString);
initialize(&firstString);
printf("%s", firstString);
}
void
initialize(char (*firstString)[50])
{
int i;
for (i = 0; i < 50; i++) {
*firstString[i] = 'a';
*firstString[49] = '\0';
}
}
すべてのヘルプは高く評価されています。ここでは
は、私が持っているコードです。
編集:
ここに作業コードがあります。助けてくれてありがとう!
#include <stdio.h>
#include <string.h>
void initialize(char firstString[50]);
void main(void)
{
char firstString[50];
printf("Enter a string: ");
scanf("%s", firstString);
printf("%s", firstString);
initialize(firstString);
printf("%s", firstString);
}
void
initialize(char firstString[50])
{
int i;
for (i = 0; i < 50; i++)
memset(firstString, 'a', 49);
firstString[49] = '\0';
}
あなたは問題が何であるかがわかります-Wall -Wextraとの警告を取得する必要があります
また、あなたの関数は、単に書くことができます。 – 2501
'* firstString [i]'とprecedence .... –
* firstSring [i]は**ポインタで1つのポインタしか使用しません – Schafwolle