为什么这个程序能运行?

lanqiucoco 2011-04-10 12:00:06
#include "stdio.h"
void main()
{
int k1,k2;
gets(k1);
gets(k2);
printf("%s %s ",k1,k2);
}

比如我输入123456789(回车)123456789
结果竟能输出123456789 123456789...
纠结不知道为什么..gets()函数不是对字符串的输入么?
...全文
112 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hujiey 2011-04-10
  • 打赏
  • 举报
回复

K1 K2 都没分配空间当然不能运行
[Quote=引用 4 楼 tanjun90 的回复:]
#include <stdio.h>
#include<string.h>
void main()
{
char *k1,*k2;
gets(k1);
gets(k2);
printf("%s %s",k1,k2);
}
这个在code::block中通过编译,但无法运行
[/Quote]
pathuang68 2011-04-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 lanqiucoco 的回复:]

我用的是c/c++程序设计学习与实验系统,因为在看《c语言的高级编程与实例剖析》,这个编译器能运行,谢谢各位,应该是这个编译器的问题。
[/Quote]

嗯,那肯定是编译器的问题。
lanqiucoco 2011-04-10
  • 打赏
  • 举报
回复
我用的是c/c++程序设计学习与实验系统,因为在看《c语言的高级编程与实例剖析》,这个编译器能运行,谢谢各位,应该是这个编译器的问题。
pathuang68 2011-04-10
  • 打赏
  • 举报
回复
这个程序要是能运行,还真是有点奇怪。
tanjun90 2011-04-10
  • 打赏
  • 举报
回复
#include <stdio.h>
#include<string.h>
void main()
{
char *k1,*k2;
gets(k1);
gets(k2);
printf("%s %s",k1,k2);
}
这个在code::block中通过编译,但无法运行
yangch_nhcmo 2011-04-10
  • 打赏
  • 举报
回复
楼主用的什么编译器?
沧海阿木 2011-04-10
  • 打赏
  • 举报
回复
VS下编译通不过。错误提示:gets(char *)不能将int转换为char*
hujiey 2011-04-10
  • 打赏
  • 举报
回复
楼主编译能通过? 我这为什么不能?
lt114896 2011-04-10
  • 打赏
  • 举报
回复
编译通不过啊!

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧