誰かの名前を含む文字列を取得し、その名前のイニシャルを大文字で出力するコードに取り組んでいます。コードを実行するたびに、イニシャルが 2 回出力され続けます。この問題を修正する方法がわかりません。目的の出力を取得します。
これが私のコードです:
#include <cs50.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main(void)
{
string name = GetString();
char* pointer;
pointer = strtok(name, " ");
while (pointer != NULL)
{
printf("%c", putchar(toupper(pointer[0])));
pointer = strtok (NULL, " ");
}
printf("\n");
}
たとえば、コードを実行すると: ahmed salah eldin
出力:
AASSEE
が必要だ :
ASE