#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个它还能打印超出的字符。
C语言中的数组字符串问题 DEV-C++
答案:2 悬赏:0
解决时间 2021-03-08 01:12
- 提问者网友:刀枪不入
- 2021-03-07 19:28
最佳答案
- 二级知识专家网友:如果这是命
- 2021-03-07 19:44
首先,你把代码更改一下,
#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++ 的编译器。
#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++ 的编译器。
全部回答
- 1楼网友:余生继续浪
- 2021-03-07 21:03
你说呢...
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |