Microsoft Visual Studio Express 2013 for Windows DesctopでC言語の勉強を始めました。
以下のコードが正しく実行されないため、理由が知りたく質問させていただきます。
***********
#include<stdio.h>
int main(void)
{
char str[100];
int i, c;
c = 0;
printf("文字列を入力してください。\n");
scanf_s("%s", str);
for (i=0; str[i]!='\0'; i++){
c++;
}
printf("文字列の長さは%dです。\n", c);
return 0;
}
***********
見たまま、入力した文字列の長さを数えるコードです。
ですが、何を入力しても「文字列の長さは0です」と出力されます。
どこか誤字脱字などの初歩的なミスをしているのかと思い
何度も読み返してはみましたがわかりません。
それともVS2013の設定側の問題なのでしょうか。
ちなみに使用しているテキストは『やさしいC』(第3版)「Lesson7」の練習問題3です。
よろしくご教授お願いいたします。
No.1ベストアンサー
- 回答日時:
「scanf_s」の使い方を間違えています。
入門書には、よくscanf が出てきます。
ですが、scanfは注意して使わないと、いろいろと問題が発生します。
そのため、VSでは「よりセキュアなscanf_sを使いましょう」と勧めてきます。
しかし、scanf とscanf_s とは使い方が微妙に違うので、 単純に 置き換えただけでは、期待通りには動作しません。
まさしく、でした。「#define _CRT_SECURE_NO_WARNINGS」を宣言することで解決しました。
scanf_sはscanfの上位互換だと捉えていたのが間違いでしたね。お恥ずかしい限り。精進します。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミング初心者です。 Py...
-
数字以外が入力されたらエラー...
-
正負を反転させて出力するプロ...
-
オートマトン L = {ww^R: w ∈ {...
-
ワードで文字を入力する時の変...
-
double型が正常に認識されてい...
-
電卓の小数点
-
cout関数を使っているのですが...
-
至急教えてください!プログラ...
-
Processingでのキーの同時入力
-
あるキーを押したら強制終了さ...
-
Linuxプログラミングで、キーボ...
-
"scanf"でエンターで改行させな...
-
arduinoで透過形フォトセンサが...
-
プログラミングの問題です 「金...
-
入力候補を表示させるには・・・?
-
数値連続入力プログラムでの配...
-
プログラムの進行が一時ストッ...
-
c言語 ボタン入力のプログラム...
-
C言語 ループの問題
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
正負を反転させて出力するプロ...
-
プログラミング初心者です。 Py...
-
数字以外が入力されたらエラー...
-
Eclipseコンソール表示を、リセ...
-
Excel VBAで、Application.Inpu...
-
*をユーザーが入力した数字の数...
-
java初心者です。入力されたの...
-
Linuxで入力待ちなしkeyread関...
-
batプログラム上で文字列を入力...
-
WindowsでEOF
-
Userformの入力順序をタブオー...
-
コマンドプロンプトからのEOFの...
-
EDITコントロールで入力できる...
-
VisualStudio2019のコードアナ...
-
電卓の小数点
-
Eclipseでコマンドラインを入力...
-
小数か整数かを判定する方法
-
cout関数を使っているのですが...
-
UWSCで変数をキー入力
-
ワードで文字を入力する時の変...
おすすめ情報