文字列の長さを取得するにはstrlen()を使います。
詳しくはこちらをご覧ください。
また、scanfは色んな意味で危険な関数なのでfgetsにしました。
ここで、fgetsで入力を受け付けるとEnterまでが文字列に含まれるので最後1引いています。
C
1#include <stdio.h>
2#include <string.h>
3#include <stdlib.h>
4
5#define BUFSIZE 256
6
7int main(void)
8{
9 char buf[BUFSIZE];
10 printf("文字列を入力してEnterボタンを押してください\n");
11
12 fgets(buf,sizeof(buf),stdin);
13
14 printf("入力した文字列の長さは%dです。",strlen(buf) - 1 );
15
16 return 0;
17}
<追記>
原始的な方法でやってみました。
文字列の語尾に行くまでfor文を用いて長さを求めています。
C
1#include <stdio.h>
2#include <stdlib.h>
3
4#define BUFSIZE 256
5
6int main(void)
7{
8 char buf[BUFSIZE];
9 int i;
10 int length = 0;
11 printf("文字列を入力してEnterボタンを押してください\n");
12
13 fgets(buf,sizeof(buf),stdin);
14
15
16 for(i = 0; i < buf[i + 1] != '\0'; i++){
17 length++;
18 }
19 printf("入力した文字列の長さは%dです。",length);
20
21 return 0;
22}
23
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/06 06:34
退会済みユーザー
2018/06/06 07:00 編集
2018/06/06 15:15 編集
2018/06/06 15:00