C言語 テキストから指定の文字列を検索するプログラムについて
Posted: 2015年6月16日(火) 22:24
はじめまして。
よろしくおねがいします。
入力したテキストから指定した文字列を検索して、一個目の先頭アドレスを出力する関数を作っています。
現在
ここまで作りましたが、
2つめのscanfである
scanf(" %9s", cs);
に到達して、文字列を入力、エンターキーを押しても先に進みません。
どこを直せば良いのでしょうか?
よろしくおねがいします。
入力したテキストから指定した文字列を検索して、一個目の先頭アドレスを出力する関数を作っています。
現在
#include <stdio.h>
#define N 100
#define M 10
main() {
char text[N]; //元
char cs[M]; //検索する文字
char *pt;
char *pc;
char *add;
char s[M];
printf("文字列を入力してください\n");
scanf("%s", text);
printf("検索する文字列を入力してください\n");
scanf(" %9s", cs);
printf("検索します");
pt = &text[0];
pc = &cs[0];
while(*pt != '\0') {
if(*pt == *pc) {
add = pt;
for(add = pt; *pt == *pc; ++pt, ++pc) {
if(*pc == '\0') {
printf("先頭アドレスは %p です", add);
return(0);
}
else if (*pt != *pc)
pc = &cs[0];
}
}
}
printf("存在しません");
}
2つめのscanfである
scanf(" %9s", cs);
に到達して、文字列を入力、エンターキーを押しても先に進みません。
どこを直せば良いのでしょうか?