アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語を勉強しているものですが、以下の問題がわからなくて困っています。strlen()を使わず以下の問題を解くためにはどうすればよいか、差し支えなければどなたか教えていただけると幸いです。

(問題)
キーボードから文字列を入力し、その文字列の長さを表示するプログラムを作りなさい。
この時、strlen()関数を用いないこと。

(期待される実行結果 )
文字列を入力:ABCDEF ←キーボードから入力
文字列の長さ:6文字

A 回答 (5件)

キーボードから入力された文字列を取得する方法は判りますか?


とりあえず、キーボードから入力された文字列を取得し、その長さをstrlenを使って求めるプログラムを書いてみてください。
そして、そのあとで、strlenの代わりにstrlenを使わない方法に変えれば良いかと。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2017/11/29 12:36

ABCDEF


という文字列があったら
0番目→1文字目 A → 文字がある
1番目→2文字目 B → 文字がある
...
5番目→6文字目 C → 文字がある
6番目→7文字目 ??? → 文字が無い→ 長さは6文字

となります。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2017/11/29 12:36

例えば


あいうえお
という文字列だったらいくつを表示すればいいんだろうか.
    • good
    • 0

1.scanfでchar配列(ここでは名前をbufとする)に入力する。


2.buf上では文字列の最後は'\0'となっている。
3.buf[0]から順にデータが'\0'であるか確認していく。
4.'\0'の手前までが入力した文字列
  例 buf[6] == '\0'だった
    buf[0]~buf[5]までの6が文字長

buf[0] : 'A'
buf[1] : 'B'
buf[2] : 'C'
buf[3] : 'D'
buf[4] : 'E'
buf[5] : 'F'
buf[6] : '\0'
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2017/11/29 12:35

>問題を解くためにはどうすればよいか、


まず、問題を理解することから始めましょう!
 「キーボードから文字列を入力」し、
 「その文字列の長さを表示する」
という2つの処理プログラムを書くことです。
条件では、後半のプログラムはstrlen()関数を用いないことという条件がついているということです。

あとはご自分の力でプログラムを書いて、それでもわからないところがあれば、
改めて質問されたら良いでしょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2017/11/29 12:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A