指针新问题

chinayaolin 2003-09-14 08:31:59
# include <stdlib.h>
main()
{ int len;
char *s=NULL,e;
s=(char *)malloc(sizeof(10));
for(;scanf("%s",s),len=strlen(s),(e=*(s+len))!=10; printf("%s",s);
}
请问一下为什么按回车键不能返回
...全文
93 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinayaolin 2003-09-15
  • 打赏
  • 举报
回复
碧波,你编写的程序怎样不能输出呢?
chinayaolin 2003-09-15
  • 打赏
  • 举报
回复
楼上的,因为你可能没有加载头函数string.h
正确源程序应该是这样的:
# include <string.h>
# include <stdlib.h>
main()
{ int len;
char *s=NULL,e;
s=(char *)malloc(sizeof(10));
for(;scanf("%s",s),len=strlen(s),(e=*(s+len))!='\0')
printf("%s",s);
}
uglykoala 2003-09-15
  • 打赏
  • 举报
回复
可以输出呀。
不过这个程序还有个漏洞。
我还没有发现。
这个程序不能结束。
要加一个结束循环的字符。
dama2003 2003-09-14
  • 打赏
  • 举报
回复
为什么我打出来后,运行是检查说"strlen"函数不能识别
whmily 2003-09-14
  • 打赏
  • 举报
回复
uglykoala(碧波)说得对.在turbor c中通过
beigua 2003-09-14
  • 打赏
  • 举报
回复
sizeof(10)???

sizeof(10)等于4
qlxyeah 2003-09-14
  • 打赏
  • 举报
回复
uglykoala(碧波)说得对,我同意!
uglykoala 2003-09-14
  • 打赏
  • 举报
回复
你在printf("%s",s);后的分号去掉。
因为for语句的形式是for((初植);(循环条件);(循环增量))
这里就不要分号了
# include <stdlib.h>
main()
{ int len;
char *s=NULL,e;
s=(char *)malloc(sizeof(10));
for(;scanf("%s",s),len=strlen(s),(e=*(s+len))!=10; printf("%s",s))
;
}

wangfengsdu 2003-09-14
  • 打赏
  • 举报
回复
程序没有缩进,格式太差!!
怎么有这样写程序的!
看起来好像技巧性强,
其实啥也不是。
chinayaolin 2003-09-14
  • 打赏
  • 举报
回复
程序没有错误?
kotton8848 2003-09-14
  • 打赏
  • 举报
回复
是不是你的程序有问题?
能在发一次嘛?

69,371

社区成员

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

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