少し愚直かもしれませんが以下の方法でやってみました。
今回は入力した文字が100*かどうかチェックします。
1.fgetsで入力を受け付ける.
2.入力した文字の文字数と100の文字数か同じかチェックする
3.2で同じだった時、for文を用いて比較する文字と1文字ずつ比較する。
4.一文字でも異なればすぐにbreak文でループを終了する。(check = 0にする)
5.最後までcheck = 1だったら入力した文字が100ということになる。
C
1#include <stdio.h>
2#include <string.h>
3
4#define BUFSIZE 256
5
6int main(void)
7{
8 char *text = "100*";
9 char buf[BUFSIZE];
10 int i;
11 int judge = 0;
12
13 fgets(buf,sizeof(buf),stdin);
14 buf[strlen(buf) - 1] = '\0'; //最後の改行を削除
15 if(strlen(text) != strlen(buf)){
16 judge = 0;
17 }
18 else{
19 for(i = 0; i < strlen(text); i++){
20 if(*(buf + i) != *(text + i)){
21 judge = 0;
22 break;
23 }
24 else{
25 judge = 1;
26 }
27 }
28 }
29 if(judge == 1){
30 printf("入力した文字は%sです。",text);
31 }
32 else{
33 printf("入力した文字は%sではありません。",text);
34 }
35 return 0;
36}
<追記>
strcmpを使えばすぐにできました。
詳しくは文字列を比較をご覧ください。
C
1#include <stdio.h>
2#include <string.h>
3
4#define BUFSIZE 256
5
6int main(void)
7{
8 char *text = "100*";
9 char buf[BUFSIZE];
10
11 fgets(buf,sizeof(buf),stdin);
12 buf[strlen(buf) - 1] = '\0'; //最後の改行を削除
13
14 if(strcmp(buf,text) == 0){
15 printf("入力した文字は%sです。",text);
16 }
17 else{
18 printf("入力した文字は%sではありません。",text);
19 }
20 return 0;
21}