
C言語の質問です。
以下の命令を実行するプログラムを作りました
①文字列aとbの長さを表示
②aとbの内容が等しいか確認
③新たにヒープ領域上にメモリを確保して文字列cを宣言しそこにaとbを連結した文字列を代入し表示
④メモリ領域解放
コードと実行結果は写真のとおりです。
しかしstrcmpで②を実現しようとした際、内容はまったく一致していないのに結果は等しいと出てしまいました。
また③においては予想はstrcatで2つの文字列を連結したので"495051525312345"と表示されると思ったのですが違いました。
長くなってしまいましたが質問です。
自分はstrcmpは配列の内容が一致すれば0を返すと思っていたのですが違うのでしょうか?またなぜ③は予想とは違い"1234512345"と出たんでしょうか?

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
メモリマップドファイルを可変...
-
5
free関数で動作が止まる
-
6
win32APIのHeapAlloc()の使い方...
-
7
C言語 mallocのエラーに関する質問
-
8
写真のc言語の問題がa以外わか...
-
9
C++のnewで確保したメモリーの...
-
10
配列の添え字の最大数とは?
-
11
16進ダンプのプログラム
-
12
メモリ不足になってしまう。
-
13
指定したメモリアドレスの値の...
-
14
行列内の行の交換,列の交換を...
-
15
入れ子になった構造体について
-
16
文字列のメモリ保持期間とポイ...
-
17
画像を読み込む配列の確保。
-
18
MSDNがgethostbynameではなくge...
-
19
DLLで同じメモリ領域を参照する...
-
20
DLLのマルチスレッドの動作につ...
おすすめ情報
公式facebook
公式twitter