中易网

C语言中的数组字符串问题 DEV-C++

答案:2  悬赏:0  
解决时间 2021-03-08 01:12
#include "stdio.h"
#include "conio.h"
main()
{
char st[15];
printf("输入一个字符串,不大于14个字符:",st);
scanf("%s",&st);
printf("%s\n",st);
getch();
}
以上是我根据书上写的一个小程序,由dev-c++来完成,书上说不可超过14个字符,不能有空格否则会中断输入,但是我不论输入多少个字符它都能 完全 打印出来,超过了14个。空格的确会中断。我想问为什么超过14个它还能打印超出的字符。
最佳答案
首先,你把代码更改一下,
#include "stdio.h"
main()
{
    char st[15]={'\0'};  // 先初始化一下
    char st2[100]={'\0'};  // 在该字符串后面接着初始化另外一个数组
    printf("输入一个字符串,不大于14个字符:");  // 这里,双引号后面没有了st
    scanf("%s",&st);
    printf("%s\n",st);
    printf("%s\n",st2);   // 把后面的数组也打印出来
}DEV-C++ 默认自带的编译器是GCC,以上代码用GCC编译确实没有问题,确实如你说的一样。
但是如果更换为VC++的话,结果就和书上说的一样了。你的书应该使用的是 VC++ 的编译器。
全部回答
你说呢...
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
泮境中心幼儿园这个地址在什么地方,我要处理
海盗猪笼草人喝了会怎样
我24岁,男,在机械厂上班月收入三千,八小时
突然喉咙急痛,连吞口水都成问题,这是怎么回
柱子是草本还是木本
学信网是个垃圾网站!这样的垃圾网站早就该封
御众堂产后恢复我想知道这个在什么地方
济南到天津快递几天 申通,8月8日21点40分快件
非洲那地方那么热,怎么还会有那么多白种人啊
腾讯公司内部用什么操作系统比较多
白天午睡梦见掉进水塘里
请问无锡市滨湖区蠡湖苑的具体位置。
以一个人为中心,然后其他人都是黑色影子的卡
手机冲电没显示全黑屏开机也开不了是怎么回事
新罗宴韩式火锅地址在哪,我要去那里办事
推荐资讯
a带头的英文名女生表示聪明的,漂亮的,有钱的
公交线路查询从滑翔到广宜街乘坐公交车
怎样才能婉转的让我婆婆从我家里走,老公不会
源屋苑地址在哪,我要去那里办事
越烤越旺海鲜烧烤这个地址在什么地方,我要处
人家说自己旺夫 代表什么?
佳宁娜大酒店地址有知道的么?有点事想过去
+神鬼传奇内测号 加150分换个天下2网通区60男
5万元87天,6%的理财到期利是多少
为什么德国跑车品牌不如意大利的跑车品牌?
为什么对于反应前后气态物质化学计量数有变化
我的U盘中的所有文件夹中毒后被隔离了,看不
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?