程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> visual studio-C語言結構體在VS2013輸入時候遇到的問題

visual studio-C語言結構體在VS2013輸入時候遇到的問題

編輯:編程綜合問答
C語言結構體在VS2013輸入時候遇到的問題

IDE:VS2013
OS:Windows7
源碼附上:

#include<windows.h>
#include<stdio.h>
int main()
{
    //定義一個People類型的結構體
    struct People{
        char name[10];//名字
        char sex[5];//性別
        int age;//年齡
        int Class;//班級
    }me;
    //將me聲明為People類型的結構體變量

    printf("Please Input Your Name\n");
    scanf_s("%s", &me.name);
    printf("Please Input Your sex\n");
    scanf_s("%s", &me.sex);
    printf("Please Input Your age\n");
    scanf_s("%d", &me.age);
    printf("Please Input Your Class\n");
    scanf_s("%d", &me.Class);

    printf("%s", me.name);
    printf("%s", me.sex);
    printf("%d", me.age);
    printf("%d", me.Class);


    system("pause");
    return 0;
}

問題概述
輸入名字後 程序直接沒了 然後直接打印出後面的三句話了 按程序來說 應該是打印一句話 然後停下來讓我輸入的啊 怎麼我輸入一個 下面三句話都打印出來了

運行結果:
圖片說明

改了下程序 把scanf_s _s去掉後 在Devc++中就可以正常使用

在Devc++中的運行結果
圖片說明

請問各位C前輩 是不是因為VS2013中 對鍵盤緩沖區進行了特殊的處理呢?

最佳回答:


scanf_s對於%c和%s格式需要指定數組元素或變量的個數

    scanf_s("%s", &me.name,10);
    printf("Please Input Your sex\n");
    scanf_s("%s", &me.sex,5);
    printf("Please Input Your age\n");
    scanf_s("%d", &me.age);
    printf("Please Input Your Class\n");
    scanf_s("%d", &me.Class);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved