CS50 IDEのprintf関数に問題があります。文字列(このコードではsalt)を出力するためにprintfを使用している場合、元の引数(argv)には存在しない余分な文字が出力されています。CS50 IDE:printfは余分な文字を返します
以下は私のコードです。どんな助けもありがとう。ありがとうございました。あなたのケースでは
#include <cs50.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
int main(int argc, string argv[])
{
// ensuring that only 1 command-line argument is inputted
if (argc != 2)
{
return 1;
}
char salt[2];
for (int i = 0; i < 2; i++)
{
char c = argv[1][i];
salt[i] = c;
}
printf("the first 2 characters of the argument is %s\n", salt);
}
C文字列は_null-terminated_でなければなりません。 – ForceBru
私たちに見せてください_元の引数(argv)._ – BLUEPIXY
'printf(引数の最初の2文字は%s \ n"、塩); ' - >' printf( "引数の最初の2文字は% .2s \ n "、salt); ' – BLUEPIXY