#include <stdio.h>
void main()
{
char s[50];
char *p=s;
int i;
int sum1=0,sum2=0;
printf("请输入一个字符串:");
scanf("%s\t",&s);
for(i=0;i<50;i++)
{
if((65<=*p&&*p<=90)||(97<=*p&&*p<=122))
sum1=sum1+1;
else if(48<=*p&&*p<=57)
sum2=sum2+1;
}
printf("字母个数为:%d\n ",sum1);
printf("数字个数为:%d\n ",sum2);
}
按照这个改了之后,输入字符串后还是不能继续运行诶
你是复制过去的,还是手改?
注意这一句
scanf("%s\n",s);
手改的,我把取地址符号去掉了啊
追答你在里面用了一个\t,这有必要么
最好是 scanf("%s",s);
现在可以了,谢谢了~
那个\t是什么时候用的啊?
那个\t是制表符,你要按键盘的TAB键才认可是输入完毕
本回答被提问者采纳改了之后,输入字符串之后还是不能继续运行诶
追答你在开玩笑 我的编译器都可以
删掉取地址符号还是不可以诶
输入一个字符串后就不运行了
可以不用指针
#include
void main()
{
int num1= 0;
int num2= 0;
int i;
char c[100];
scanf("%s",c);
for(i=0;i=48)&&(c[i]=65)&&(c[i]=97)&&(c[i]<=122)) )
num2 ++;
}
printf("The data number = %d\r\n",num1);
printf("The char number = %d\r\n",num2);
}
这个用数组的程序看懂了,但是还是不知道怎么用指针来做,自己错在哪里了。。