[解決済み] strcmpがセグメンテーションフォールトを出す [重複]。
2022-01-17 05:34:33
質問
これはセグメンテーションフォールトを発生させる私のコードです。
#include <stdio.h>
#include <signal.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
int main(void) {
char *get;
scanf("%s", get);
int k = strcmp("sachin", get);
printf("%d", k);
}
ありがとうございました。
解決方法は?
char *get;
上記のステートメントで定義された
get
を文字へのポインタとする。型のオブジェクトのアドレスを格納することができます。
char
文字そのものではありません。問題は、両方の
scanf
と
strcmp
を呼び出します。入力文字列を格納するために、文字の配列を定義する必要があります。
#include <stdio.h>
#include <string.h>
int main(void) {
// assuming max string length 40
// +1 for the terminating null byte added by scanf
char get[40+1];
// "%40s" means write at most 40 characters
// into the buffer get and then add the null byte
// at the end. This is to guard against buffer overrun by
// scanf in case the input string is too large for get to store
scanf("%40s", get);
int k = strcmp("sachin", get);
printf("%d", k);
return 0;
}
関連
-
CE5.2版を使って、武術のベースサイトである第一レベルのメソッドを見つける(グラフィックチュートリアル)。
-
InstallShield でレジストリキーを取得するスクリプト
-
パスワード入力を非表示にする InstallShield スクリプト
-
linux シェル学習ノート 2日目
-
ソフトウェアテスト手法の概要
-
[解決済み】C++ -- ' の前に一次式があることが予想される。
-
[解決済み】必要な形式パラメータに対応する引数が与えられない - .NETエラー
-
[解決済み】mysqli_fetch_array() は、パラメータ 1 が mysqli_result であることを期待し、boolean は【重複】で与えられました。
-
[解決済み】ログアウトと再ログインをせずに.bashrcの設定を再読み込みする方法とは?
-
[解決済み] セグメンテーションフォールトとは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
コマンドによるフォルダの簡単なインクリメンタルバックアップ(win/linux)
-
非常に詳細な2つのシェルコードの例
-
CSスクリプトの使用方法
-
InstallShield でホスト名から IP アドレスを取得するコード
-
ソフトウェアテスト手法の概要
-
[解決済み】R on MacOS Error: vector memory exhausted (limit reached?)
-
[解決済み】lm.fit(x,y,offset = offset, singular.ok,...) boxcox式で0非NAケースでエラーになる。
-
[解決済み】このリポジトリで別のgitプロセスが動作しているようです。
-
[解決済み】makefile:4。*** missing separator. 停止する
-
[解決済み] mallocの結果はキャストするのですか?