亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

請各位指教一下,如果用scanf語句 這個有什么問題么?

#include <stdio.h>

int main()

{

? ? /* 定義需要計算的日期 */

? ? int year;

? ? int month;

? ? int day;

? ? printf("請輸入年月日\n");

? ? scanf_s("%d,%d,%d",&year,&month,&day);

? ? int sum;

? ? switch (month)

? ? {

? ? case 1:sum = 0; break;

? ? ? ? case 2:sum = 31; break;

? ? ? ? case 3:sum = 59; break;

? ? ? ? case 4:sum = 89; break;

? ? ? ? case 5:sum = 120; break;

? ? ? ? case 6:sum = 150; break;

? ? ? ? case 7:sum = 181; break;

? ? ? ? case 8:sum = 212; break;

? ? ? ? case 9:sum = 242; break;

? ? ? ? case 10:sum = 273; break;

? ? ? ? case 11:sum = 303; break;

? ? ? ? case 12:sum = 334; break;

? ? ? ? default:printf("一年中只有十二個月哦");

? ? }

?

? ? if (year % 400 ==0 || year % 4 ==0 && year%100 != 0)

? ? {

? ? ? ? if (month > 2)

? ? ? ? {

? ? ? ? ? ? sum = sum + day + 1;


? ? ? ? }

????????else

????????????????{??

????????????sum = sum + day;

????????????????}?

? ? ? ? printf("%d年%d月中的第%d天\n",year,month ,sum);

? ? }

? ? return 0;

}


正在回答

0 回答


在VS中這是因為scanf()在讀取數據時不檢查邊界,所以可能會造成內存訪問越界;

---對于某些程序而言,scanf 與 scanf_s 都是一樣的。主要看是否造成 內存訪問越界 問題

如果不讓VS進行這項檢查,可以加上:

#define _CRT_SECURE_NO_WARNINGS

#define _CRT_SECURE_NO_DEPRECATE

#pragma warning(disable:4996);


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

請各位指教一下,如果用scanf語句 這個有什么問題么?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號