#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
int main(){
char str [1000] = "";
char ch = 'M';
char *findM;
printf("Enter a line of text\n");
scanf("%s", str);
findM = strchr(str, ch);
printf("string after %c is %s ", ch, findM);
return 0;
}
プログラムへの入力は"My name is Steve"
であり、このプログラムの出力は、Mが(null)の後の文字列になります。これはなぜ発生しますか?この方法は、任意の一致が見つからない場合は、ヌルになるだろうなぜ出力がnullですか?
..ので、あなたにそれが正常に動作スペースwithiut入力を与える区切り文字として「(スペース)」を検討していますか – milleniumbug
最初の単語に 'M'を入力していませんでした –
@milleniumbug、「hello My name is steve」のようなもので、その後は常にMが(null)の後の文字列 –