回 帖 发 新 帖 刷新版面

主题:指针

#include<stdio.h>
void main()
{
    char a[100],*p;
    int i=0;
    p=&a[0];
    printf("请输入字符串:\n");
    gets(a);
while (*(p+i)!='\0')
if((*(p+i)>='0')&&(*(p+i)<='9'))
       i++; 
 
printf("共有%d个数\n",i);}为什么没有结果?

回复列表 (共2个回复)

沙发

循环变量和计数变量用了同一个变量,我就晕死!
#include<stdio.h>
void main()
{
    char a[100],*p;
    int i=0;//加一个count=0吧
    p=&a[0];
    printf("请输入字符串:\n");
    gets(a);
while (*(p+i)!='\0')
if((*(p+i)>='0')&&(*(p+i)<='9'))
       i++; //这里应该是count++
//循环里的i++应该写在if后面,别忘了大括号
 
printf("共有%d个数\n",i);}//输出count

你现在的代码的直接结果就是,程序会在第一个非数字的字符那里死循环,当然就没有输出了

板凳

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

我来回复

您尚未登录,请登录后再回复。点此登录或注册