标题:不明白是程序的问题还是电脑的问题,大家探讨一下。
只看楼主
l11211002
Rank: 1
等 级:新手上路
帖 子:18
专家分:5
注 册:2009-11-11
得分:0 
我什么时候才能看懂你们在写的是什么啊!!!

谁是谁的谁!去他妈的。谁鸟你啊!
2009-11-11 13:32
李若斌
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



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-291892-1-1.html




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

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