[問題]字串大小問題
遇到的問題: (題意請描述清楚)
我想請問字串大小陣列的問題
假設我令 char name[10]
代表我的字元不能超過10個 包含\0結束字元
但以下這程式 為何可以輸入超過10個字元 然後沒出現問題
我輸入alicemyname+\0 已經11個字元
為何還可以 顯示出來 照理講不是會出錯嗎?? 問題很簡單 希望可以解決我的疑惑!!
謝謝
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
vc++
有問題的code: (請善用置底文標色功能)
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
char name[10]; /* 宣告字元陣列 */
printf("What's your name: ");
scanf("%s",name); /* 輸入字串,並由字元陣列name所接收 */
printf("Hi, %s, How are you?\n",name); /* 印出字串的內容 */
printf("sizeof(name)=%d",sizeof(name));
system("pause");
return 0;
}
/*
What's your name: alicemyname
Hi, alicemyname, How are you?
sizeof(name)=10請按任意鍵繼續 . . .
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.134.24.22
推
12/28 05:58, , 1F
12/28 05:58, 1F
→
12/28 05:58, , 2F
12/28 05:58, 2F
→
12/28 05:59, , 3F
12/28 05:59, 3F
推
12/28 09:07, , 4F
12/28 09:07, 4F
→
12/28 09:07, , 5F
12/28 09:07, 5F
→
12/28 15:46, , 6F
12/28 15:46, 6F
→
12/28 15:47, , 7F
12/28 15:47, 7F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章
13
22