48日目 K&RのEcercise2-5 (「・ω・)「
ごめんなさい。アンサーブック見ました。
ループをどこで止めるのかわかんなかった。そうだよねヌル文字だよねあたりまえだよねorz
もったいないことしたなぁ もっと考える時間確保しとけばよかった
#include<stdio.h> int any(char s1[], char s2[]); main() { char c1[100], c2[10]; printf("文字列s1(英数)を入力してください\n"); scanf("%s", c1); printf("文字列s2(英数)を入力してください\n"); scanf("%s", c2); if (any(c1, c2) == -1) printf("文字列s1に文字列s2は存在しません\n"); else printf("s1に初めてs2が現れるのは%d文字目からです", any(c1, c2)+1); return 0; } int any(char s1[], char s2[]) { int i, j; for (i = 0; s1[i] != '\0'; i++) for (j = 0; s2[j] != '\0'; j++) if (s1[i] == s2[j]) return i; return -1; }
エラーログ
- scanf_sだとうまくできない
- 初期化でc2 = "e"; とかしてもうまくいかない
- 空白があるとプログラムが終わってしまう