none
C言語列挙型でIntelliSense:識別子”s”が定義されていません RRS feed

  • 質問

  • C言語の列挙型を勉強しています。VS2013を使用していますが下記のプログラムでscanf-sこの部分でビルトエラーが出ます。

    IntelliSense:識別子”s”が定義されていません。どうしてこのようになるのでしょうか?

    scanf("%c", &ch);だと必ずエラーになるためscanf-sに書き直しています

    #include "stdafx.h"


    enum { MSG_OK, MSG_YESNO };
    enum { ID_OK = 1, ID_YES, ID_NO };

    int Message(char *msg, int type) {
    char ch;
    switch (type) {
    case MSG_OK:
    printf("%s\tPush Enter>", msg);
    scanf-s("%c", &ch);
    return ID_OK;
    case MSG_YESNO:
    printf("%s y/n>", msg);
    scanf-s("%c", &ch);
    return (ch == 'y' ? ID_YES : ID_NO);
    }
    return 0;
    }

    int main() {
    Message("Stand by Ready!", MSG_OK);
    if (Message("Are you sure that's enough aromr?", MSG_YESNO) == ID_YES)
    printf("This is not your appointed time to die.\n");
    return 0;
    }

    2015年9月15日 1:47

回答

すべての返信