| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3792 人关注过本帖
标题:这个程序有两个地方没看懂,求指教。。。
只看楼主 加入收藏
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
结帖率:95.37%
收藏
已结贴  问题点数:10 回复次数:56 
这个程序有两个地方没看懂,求指教。。。
#include <stdio.h>
int main()
{
     int i,upp,low,dig,spa,oth;
     char text[80];
     upp=low=dig=spa=oth=0;
     printf("please input string");
     gets(text);折换成scanf为什么不可以。。???
     for(i=0;i<80&&text[i]!='\0';i++)//text[i]!='\0这一点是什么意思??、为什么必须是0.、?
     {
          if (text[i]>='A'&& text[i]<='Z')
             upp++;
          else if (text[i]>='a' && text[i]<='z')
             low++;
          else if (text[i]>='0' && text[i]<='9')
             dig++;
          else if (text[i]==' ')
             spa++;
          else
             oth++;
     }
     printf("\nupper case: %d\n",upp);
     printf("lower case: %d\n",low);
     printf("digit     : %d\n",dig);
     return 0;
}
搜索更多相关主题的帖子: include please 
2017-01-06 19:09
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:5 
\0是字符串结束符,表示一个字符串的结束。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-06 19:13
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
编辑掉,貌似有些地方弄错了。

[此贴子已经被作者于2017-1-6 19:19编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-06 19:17
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
把\0 换成  \n为什么不可以? 。。。写成scanf("%lf",&a[i])!=1   for(i=0;i<80&scanf("%lf",&a[i])!='\0';i++) 这个怎么不对??
2017-01-06 19:19
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 3楼 renkejun1942
哪个地方不行??
2017-01-06 19:19
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 5楼 花脸
scanf读取字符串,一旦遇到空格、回车等空字符就会停止读取,所以如果要用scanf代替gets的话,就需要用到循环。

[此贴子已经被作者于2017-1-6 19:25编辑过]


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-06 19:22
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 4楼 花脸
你的这些问题,我觉得你应该百度一下格式说明符和转义字符。

%lf是双精度浮点数
%s 字符串
%c 字符

\n 回车
\0 字符串结束符

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-06 19:24
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 6楼 renkejun1942
char a[80];
int i;
for(i=0;i<80;i++)
{
    if(scanf("%d",&a[i])!='\n')
    break;

 }   这样可以吗?
2017-01-06 19:26
花脸
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:9
帖 子:788
专家分:907
注 册:2017-1-4
收藏
得分:0 
回复 7楼 renkejun1942
恩。。。你说的这些 我都知道,但是 我不知道,再循环输入的时候 在scanf 或 gechar 这些情况下 定义哪种字符 让输入的循环结束。。。
2017-01-06 19:28
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 9楼 花脸
循环是否继续,在于判断是否成立,成立则执行代码块,不成立则不执行。


09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-01-06 19:35
快速回复:这个程序有两个地方没看懂,求指教。。。
数据加载中...
 
   



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

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