C言語で文字列の数を数える方法
C言語では、ループと条件分岐により文字列数をカウントすることができます。以下にサンプルコードを示します。
#include <stdio.h>
int countStrings(char *str) {
int count = 0;
int insideWord = 0;
while (*str != '\0') {
if (*str != ' ' && *str != '\n' && *str != '\t') {
if (!insideWord) {
count++;
insideWord = 1;
}
} else {
insideWord = 0;
}
str++;
}
return count;
}
int main() {
char str[] = "Hello world! This is a test.";
int count = countStrings(str);
printf("Number of strings: %d\n", count);
return 0;
}
上記コードでは、countStrings関数はcountという変数で文字列の個数を数え、さらにinsideWordという変数を使用して現在文字が文字列内か判断します。ループは入力文字列を繰り返し処理し、スペース、タブ、または改行文字に遭遇しない場合、文字列内にない場合はinsideWordを1に設定し、同時にcountを1増やします。文字列内にある場合は、何のアクションもしません。スペース、タブ、または改行文字に遭遇すると、insideWordを0に設定し、文字列内にないことを示します。最後に、数えられた文字列の個数を返します。
main関数で入力文字列strを定義し、countStrings関数で文字列数をカウントし、その結果を出力しています。