| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 456 人关注过本帖
标题:帮个忙。程序能运行但不知为啥就是不能输出结果,用的是 vc++2008 速成版
只看楼主 加入收藏
弑水
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-9-23
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:9 
帮个忙。程序能运行但不知为啥就是不能输出结果,用的是 vc++2008 速成版
#include <stdio.h>
int main(void)
{
      char ch;
      int n = 0;
      printf ("Input some characters ending with %: ");
      scanf_s ("%c", &ch);
      while (ch != '%')
      {
          if (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')
              n++;
          scanf_s ("%c", &ch);
      }
      printf ("n = %d\n", n);
      return 0;
}
搜索更多相关主题的帖子: include 
2014-10-16 19:06
弑水
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-9-23
收藏
得分:0 
是程序问题还是编译器有问题???
2014-10-16 19:07
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:5 
简单说说:
程序初步看起来没有什么故障
2014-10-16 20:44
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:5 
f (ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')
这句优先级有问题

总有那身价贱的人给作业贴回复完整的代码
2014-10-17 07:37
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
没啥问题呀  你的字符串结束标志被人为的设置成了 %

DO IT YOURSELF !
2014-10-17 08:27
修炼内功
Rank: 2
等 级:论坛游民
帖 子:6
专家分:49
注 册:2014-10-17
收藏
得分:5 
问题可能是出在你用scanf_s函数上,这个函数是vc里加的,你是用的方式对吗,应该还有一个表示读入字符个数的参数,是不是应该这样写scanf_s("%c",&ch,1),此处用getchar()不挺好的吗,(ch >= 'a' && ch <= 'z' || ch >= 'A' && ch <= 'Z')这个建议你加上括号((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z')),这样容易阅读(编程风格)
2014-10-17 11:58
弑水
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-9-23
收藏
得分:0 
回复 5 楼 wp231957
那个%是我改的,我在试试我哪错了,谢了。。。
2014-10-17 17:15
弑水
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-9-23
收藏
得分:0 
回复 4 楼 embed_xuel
我试出来了,不是这个优先级的问题...谢了
2014-10-17 17:17
弑水
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2014-9-23
收藏
得分:0 
回复 6 楼 修炼内功
恩,把scanf_S改成getchar()就能计算出结果了。难道是VC++2008输出字符只能用getchar()。而不能用scanf_s,谢了,好建议
2014-10-17 17:28
修炼内功
Rank: 2
等 级:论坛游民
帖 子:6
专家分:49
注 册:2014-10-17
收藏
得分:0 
建议少用vc里自己添加的函数,用编译器自带的东西,那你的代码对编译器就有依赖性,换成别的编译器就不能用了,基本的输入输出标准库里都有。
2014-10-20 14:36
快速回复:帮个忙。程序能运行但不知为啥就是不能输出结果,用的是 vc++2008 速成 ...
数据加载中...
 
   



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

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