| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 619 人关注过本帖
标题:新人,帮帮忙啊
只看楼主 加入收藏
lisanhu1
Rank: 2
等 级:论坛游民
帖 子:31
专家分:78
注 册:2010-6-24
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:7 
新人,帮帮忙啊
我看书上讲C的scanf语句中有这样的情况,可以在其中输入字符串,这样只有在输入的时候照原样输入才会被判定有效,我就想到了这样一段代码,我想让**号处的语句在输入的时候必须输入前面的a的值才能成有效的输入。我运行了这个程序,发现只有在a比较大的时候才有效,比如如果输入的是999999,那么就会有这样的显示
#include "stdio.h"
void main()
{
    int a;
    char b;
    scanf("%d",&a);
    printf("%d\n",a);
    scanf("%d,%c",a,&b);/*******/
    printf("%c",b);
    getch();
}
我运行了这个程序,发现只有在a比较大的时候才有效,比如如果输入的是999999,那么就会有这样的显示
999999
999999
然后我输入a的值加,加一个字母
999999,c
这样就会输出字母c和我猜测的一样,但如果a比较小比如11111,那么程序就会出现停止运行然后关闭的情况,这是怎么一回事啊
求高手指点
搜索更多相关主题的帖子: 新人 
2010-11-05 14:00
帝国
Rank: 3Rank: 3
来 自:云南昆明
等 级:论坛游侠
帖 子:68
专家分:144
注 册:2010-10-11
收藏
得分:3 
scanf("%d,%c",a,&b);/*******/


该语句有问题,正常情况应该是在这里程序就报错了,输什么都没有意义才对

应该写成
  scanf("%d,%c",&a,&b);
2010-11-05 15:23
KMsword
该用户已被删除
收藏
得分:3 
提示: 作者被禁止或删除 内容自动屏蔽
2010-11-05 22:29
cacker
该用户已被删除
收藏
得分:3 
提示: 作者被禁止或删除 内容自动屏蔽
2010-11-05 22:34
蚂蚁的哲学
Rank: 2
来 自:湖北
等 级:论坛游民
帖 子:25
专家分:24
注 册:2010-8-22
收藏
得分:3 
scanf("%d,%c",a,&b);/*******/
scanf("%d,%c",&a,&b);/*******/这样才是对的
不过还一个问题
int型的最大值是32767吧。。。
你输入999999。。。。想想吧


Hello!
2010-11-05 23:27
lisanhu1
Rank: 2
等 级:论坛游民
帖 子:31
专家分:78
注 册:2010-6-24
收藏
得分:0 
回复 5楼 蚂蚁的哲学
谢谢了,我的问题你弄错了,我的意思是scanf函数中不是有一种情况,必须输入固定的字符吗,如
scanf("m=%d",&a);
这个语句只有在输入m=后才能合法输入,否则输入是无效的
我想%d这种格式符号可否用作表示一个常数来用,第一个没有地址符号就可以用%d表示具体的数值,
第二个有地址符号就用来存储数据
我觉得如果说C中不能用格式符号替代具体的数字的话就没必要规定在scanf函数中必须有地址符号了,
那样不是更简洁?
这个问题好像跟你说的溢出有点关系,65535是64k的字节数嘛,然后就发现在输入的数字大于65535
的时候出现后边输入的字母,如果不大于就停止程序
而且发现如果把'a,'删除那么就算输入%d也无法正常输入数据,所以这个%d也肯定是起作用了。
能帮忙再想想吗,谢谢了
2010-11-06 14:06
wangbin1375
Rank: 2
等 级:论坛游民
帖 子:8
专家分:10
注 册:2010-10-31
收藏
得分:3 
scanf语句就是输入数值的吧,你那意思是不是说就是那个第二个a不需要你输入就直接显示 你直接数B的值啊
2010-11-06 15:38
gaochizhen33
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:114
专家分:101
注 册:2010-11-4
收藏
得分:3 
我觉得 %d 不能代替具体数字吧
在楼主的程序中,把a删除了,我试了试还是能输入数据的 不过还是要输入两个 第二个没有了地址,只能保存一个了
2010-11-06 16:45
快速回复:新人,帮帮忙啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028198 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved