|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 随便输入,会出现一个问号,是为什么啊?实在不解。
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
3269
人关注过本帖
标题:
随便输入,会出现一个问号,是为什么啊?实在不解。
只看楼主
加入收藏
chihuyu
等 级:
论坛游民
帖 子:70
专家分:13
注 册:2011-12-26
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:4 回复次数:19
随便输入,会出现一个问号,是为什么啊?实在不解。
#include"stdio.h"
void main()
{
char ch1,ch2,ch3;
scanf("%c%*c%c",&ch1,&ch2,&ch3);
printf("ch1=%c,ch2=%c,ch3=%c\n",ch1,ch2,ch3);
}
看以上程序,随便输入,会出现一个问号,是为什么啊?实在不解。求帮助!
搜索更多相关主题的帖子:
void
include
2012-01-28 14:04
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
2
楼
收藏
得分:1
那看你怎麼輸入、輸入什麼了。
授人以渔,不授人以鱼。
2012-01-28 14:27
举报帖子
使用道具
赠送鲜花
chihuyu
等 级:
论坛游民
帖 子:70
专家分:13
注 册:2011-12-26
第
3
楼
收藏
得分:0
回复 2楼 TonyDeng
输入:asdfg
2012-01-28 15:04
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
4
楼
收藏
得分:0
你查閱scanf()中%*c帶個*號是什麼意思,檢查一下對應的ch2是什麼值。在printf()中每個數據加一個'\n'輸出。做完這些,你自己應該有點感覺了。
授人以渔,不授人以鱼。
2012-01-28 15:17
举报帖子
使用道具
赠送鲜花
chihuyu
等 级:
论坛游民
帖 子:70
专家分:13
注 册:2011-12-26
第
5
楼
收藏
得分:0
回复 4楼 TonyDeng
如果输入是asdfg的话,*应该是指跳过s,那么ch2=d,所以我觉得长ch3应该等于f就对了,但是实际ch3程序运行下来等于?,不知道why?
2012-01-28 15:30
举报帖子
使用道具
赠送鲜花
chihuyu
等 级:
论坛游民
帖 子:70
专家分:13
注 册:2011-12-26
第
6
楼
收藏
得分:0
回复 5楼 chihuyu
而且我发现输入任何键盘上的东西,如:sdfdasfsd,或dfasdfd, 都会有?
2012-01-28 15:32
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
7
楼
收藏
得分:0
*是跳過賦值,ch2沒有被賦值,而你又沒有初始化ch2,因此那是一個不確定的值。多個char連在一起輸出,有可能是中文,也有可能是不看識別的編碼,總起來就呈現問號。
授人以渔,不授人以鱼。
2012-01-28 15:33
举报帖子
使用道具
赠送鲜花
chihuyu
等 级:
论坛游民
帖 子:70
专家分:13
注 册:2011-12-26
第
8
楼
收藏
得分:0
不懂,ch2怎么没有赋值呢? 运行之后,不是ch2=d吗?
2012-01-28 15:35
举报帖子
使用道具
赠送鲜花
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
9
楼
收藏
得分:0
這就是*號的作用呀
授人以渔,不授人以鱼。
2012-01-28 15:36
举报帖子
使用道具
赠送鲜花
chihuyu
等 级:
论坛游民
帖 子:70
专家分:13
注 册:2011-12-26
第
10
楼
收藏
得分:0
#include"stdio.h"
void main()
{
char ch1,ch2='u',ch3;
scanf("%c%*c%c",&ch1,&ch2,&ch3);
printf("ch1=%c,ch2=%c,ch3=%c\n",ch1,ch2,ch3);
}
我把ch2初始化了,运行还是ch2=d
2012-01-28 15:38
举报帖子
使用道具
赠送鲜花
20
1/2页
1
2
快速回复:
随便输入,会出现一个问号,是为什么啊?实在不解。
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.049420 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved