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

下記で、代入は出来ても比較が出来ない。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
char *in="abc";
if(*in=="abc"){
printf("good");
}
return 0;
}
02.c: In function 'main':
02.c:7:8: warning: comparison between pointer and integer [enabled by default]
if(*in=="abc"){
^
初歩的な質問で済みません。指摘をお願いします。

A 回答 (2件)

inが示す内容が"abc"と同じかの比較をしたかったと理解しました。


C言語には、perlのように文字列を比較するステートメントはありません。
(if a== "abc")のような比較はできません。==で比較ができするのは、1文字のみです。
文字列を比較するにはstrcmp関数が提供されていますので、それを使用します。
以下のようにしてください。
----------------------------------------
include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {
char *in="abc";
if(strcmp(in,"abc")==0){
printf("good");
}
return 0;
}
ーーーーーーーーーーーーーーーーーーーーー
    • good
    • 0
この回答へのお礼

有難う御座います。

この様な回答を私は望んでいます。
暫くは、この手の質問は出ると思いますが。
宜しく、お願いします。

お礼日時:2017/02/26 11:44

*と&の違いと使い方を覚えましょう。


参考まで。
    • good
    • 2

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