|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 有关字符输入的问题,表示费解!!!
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
505
人关注过本帖
标题:
有关字符输入的问题,表示费解!!!
只看楼主
加入收藏
林浩
等 级:
论坛游民
帖 子:47
专家分:23
注 册:2011-1-12
结帖率:
90.91%
楼主
收藏
已结贴
√
问题点数:5 回复次数:5
有关字符输入的问题,表示费解!!!
我用这个输入就不行呢?
for (i = 0; str[i] != '\n'; i++)
{
scanf("%c", &str[i]);
}
为什么当我回车时,还要继续输入呢,我就是想回车即结束输入
但是这个就可以
for (i = 0; ; i++)
{
scanf("%c", &str[i]);
if (str[i] == '\n')
{
break;
}
}
请个兄弟帮忙解释下吧,thank you .
搜索更多相关主题的帖子:
兄弟
2011-01-15 18:37
举报帖子
使用道具
赠送鲜花
点线面
来 自:NO.-1
等 级:
蝙蝠侠
帖 子:525
专家分:980
注 册:2011-1-3
第
2
楼
收藏
得分:2
for (i = 0; str[i] != '\n'; i++)
{
scanf("%c", &str[i]);
}
简化为while形式
i = 0;
while( str[i] )
{
scanf("%c", &str[i]);
i++;
}
可以看出什么,当你完成输入str[i]='\n',i++ while()己经判断下一个数组,并不是当前数组,当前数组是'\n',下一个数是无知字符。
ps:不过不会那么巧合等于'\n'吧.
小代码,大智慧
2011-01-15 18:57
举报帖子
使用道具
赠送鲜花
yxwsbobo
等 级:
职业侠客
帖 子:345
专家分:306
注 册:2007-10-29
第
3
楼
收藏
得分:1
你自己看看哪里有区别
提示一下
应该换成
str[i-1] != '\n'
How are you
怎么是你?
How old are you
怎么老是你?
2011-01-15 19:26
举报帖子
使用道具
赠送鲜花
A13433758072
来 自:广东潮州
等 级:
小飞侠
威 望:
1
帖 子:1182
专家分:2784
注 册:2010-7-22
第
4
楼
收藏
得分:1
for (i = 0; str[i] != '\n'; i++)
//这题看起来没问题,可是你看看它的运行,
当i=0时,str[i] != '\n'; i++)
scanf("%c", &str[i]);
没问题.循环一次后这时的i是等于1时,str[i] != '\n'; i++)
你看循环没问题吧 可是假如你这次输入的是'\n',
str[i] != '\n'这个是str[2] != '\n',程序根本没检查你str[1]的字符所以输入继续
{
scanf("%c", &str[i]);
}
一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入, QQ群38490319
2011-01-15 19:56
举报帖子
使用道具
赠送鲜花
zzgzzg00
等 级:
黑侠
威 望:
2
帖 子:388
专家分:627
注 册:2010-8-2
第
5
楼
收藏
得分:0
呵呵
正解
粗心是大敌
2011-01-15 20:34
举报帖子
使用道具
赠送鲜花
cacker
该用户已被删除
第
6
楼
收藏
得分:1
提示:
作者被禁止或删除 内容自动屏蔽
2011-01-16 13:13
举报帖子
使用道具
赠送鲜花
6
1/1页
1
快速回复:
有关字符输入的问题,表示费解!!!
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.019284 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved