| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 969 人关注过本帖
标题:不明白是程序的问题还是电脑的问题,大家探讨一下。
取消只看楼主 加入收藏
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
结帖率:90.48%
收藏
已结贴  问题点数:10 回复次数:3 
不明白是程序的问题还是电脑的问题,大家探讨一下。
还是统计一个数组中空格字符,数字字符,字母字符,还有其他字符的个数。我有一个疑问,程序如下:
#include <stdio.h>
#define n 20
void main()
{int  letter,digit,space,other,i;
 char a[n],*p;
 p=a;
 letter=0;
 digit=0;
 space=0;
 other=0:
 printf("enter str a[n]=");
 for(i=0;i<n;i++)
 scanf("%c",&(*(p+i)));    //*本来这里在进入显示运行结果的时候需要我输入20个字符,可是为什么我输入到第20个以后还能继续输入,怎么样才能让程序控制下.就是当我输入20个字符以后要跳到下面运行,而不是等我计算好是第20个字符的时候按回车*//
 while(*p!='\0')
  {if((*p>='A'&&*p<='Z')||(*p>='a'&&*p<='z'))
     letter++;
   if(*p>='0'&&*p<='9')
    digit++;
   if(*p==' ')
     space++;
   else other++;
   p++;}
 p=a;
 printf("while str a[n]=%s\n",*p);
 printf("letter=d%,digit=%d,space=%d,other=%d\n",letter,digit,space,other);
 getch();
}






[ 本帖最后由 李若斌 于 2009-11-11 11:59 编辑 ]
搜索更多相关主题的帖子: 探讨 
2009-11-11 10:31
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:0 
回复 2楼 佳嘉
..........&(*(p+i))就是等同于a[i]的。我去前面已经指定指针变量p=a
2009-11-11 11:48
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:0 
回复 5楼 佳嘉
嗯 看到了 没注意把0打成了N, 不过改过来了以后还是不能当输入到第20个字符的时候自动跳到下面的判断循环里。
2009-11-11 12:00
李若斌
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:219
专家分:184
注 册:2009-9-30
收藏
得分:0 
回复 9楼 pgy
#include <stdio.h>
#define n 20
void main()
{int  letter,digit,space,other,i;
char a[n],*p;
p=a;
letter=0;
digit=0;
space=0;
other=0;
printf("enter str a[%d]=",n);
for(i=0;i<n;i++)
scanf("%c",&(*(p+i)));    这个输入一个字符,对应的是&a[i]是对的吧,因为前面我让*p=a,指针指向的是数组a的首地址。这里*(p+i)以后指向的已经不是数组a的首地址了么?那么*p+i是不是才是指向a数组首地址?
while(*p!='\n')
  {if((*p>='A'&&*p<='Z')||(*p>='a'&&*p<='z'))
     letter++;
   else if(*p>='0'&&*p<='9')
    digit++;
   else if(*p==' ')
     space++;
   else other++;
   p++;}
p=a;
printf("while str a[n]=%s\n",*p); 那么上面我改回来以后,让指针p再指向数组a的首地址,那么我这里用输出字符串错了么? 难道一定要用一个for循环一个个的输出*(p+i)吗?
printf("letter=d%,digit=%d,space=%d,other=%d\n",letter,digit,space,other);
getch();
}
请指点下我的疑问。
2009-11-12 15:33
快速回复:不明白是程序的问题还是电脑的问题,大家探讨一下。
数据加载中...
 
   



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

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