| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 459 人关注过本帖
标题:【问题】一个小程序中的问题
只看楼主 加入收藏
houmin0036
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2013-1-15
结帖率:37.5%
收藏
已结贴  问题点数:15 回复次数:6 
【问题】一个小程序中的问题
#include <stdio.h>
int main()
{   
    int i,j,a=0,b=0,c=0,d=0,e=0;
//字符数组(str[3][6])存放字符串(每一个字符元素).
char str[3][5];   
   
     for(i=0;i<3;i++)
 {
/* gets()是输入一行字符串,以回车结束,并且回车键会被过滤掉,不会被读到字符串中。
getchar()是读取一个字符,包括回车键也会被读成一个字符。
所以此处必须用gets(),而不能用getchar().   */
         gets(str[i]);
 }

        for(i=0;i<3;i++)
{
           for (j=0;j<5;j++)
           {
//数字代表字符的ASCLL码值;可以将数字改为相应的字符.
   if (str[i][j]>=65&&str[i][j]<=90)         
                 a++;
               else if  (str[i][j]>=97&&str[i][j]<=122)
                 b++;
               else if  (str[i][j]>=48&&str[i][j]<=57)
                 c++;
               else if  (str[i][j]==32)
                 d++;
               else if (str[i][j]!=0)
                 e++;
           }
}

printf("大写 : %d\n小写 : %d\n数字 : %d\n空格 : %d\n其它 : %d\n",a,b,c,d,e);
        printf("\n");
}

图片附件: 游客没有浏览图片的权限,请 登录注册

DOS框中的输出没有问题  但每次都会出现这个错误提示框 这是怎么回事、 改怎么解决?
搜索更多相关主题的帖子: include 字符串 
2013-03-19 22:07
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
收藏
得分:0 
用vc++6.0编译后,可以运行啊,
图片附件: 游客没有浏览图片的权限,请 登录注册
2013-03-20 09:12
逆风而前
Rank: 7Rank: 7Rank: 7
来 自:福建
等 级:黑侠
威 望:7
帖 子:193
专家分:567
注 册:2013-2-14
收藏
得分:0 
你输入的字符串越界了,就是输入的字符串太长了。
2013-03-20 09:18
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
char str[3][5];   
这注定了 你接收到的字符串长度是有限制的,超过了 可能会引起崩溃  运气好 也许没事

DO IT YOURSELF !
2013-03-20 09:19
houmin0036
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2013-1-15
收藏
得分:0 
回复 4楼 wp231957
关于“运气”  这个情况  也可以理解为"随机"是吧?
2013-03-20 09:21
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
以下是引用houmin0036在2013-3-20 09:21:35的发言:

关于“运气”  这个情况  也可以理解为"随机"是吧?
假设你输入的字符串超过了你申请的长度,假设你超出这部分的内存是可以写入的,假设你这个字符串结尾处的内存那里原先预放置一个'\0'  这种概率大约比买彩票中500万的概率还要低

DO IT YOURSELF !
2013-03-20 09:24
houmin0036
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2013-1-15
收藏
得分:0 
回复 6楼 wp231957
谢了
2013-03-20 09:28
快速回复:【问题】一个小程序中的问题
数据加载中...
 
   



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

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