| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 763 人关注过本帖
标题:指针应用疑点
只看楼主 加入收藏
妍清舞
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2007-11-12
收藏
 问题点数:0 回复次数:3 
指针应用疑点
题:输入一个字符串,内有数字和非数字字符,例如:a123x456   17960?   302tab5876         
将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123放在a[0],456放在a[1]......
统计共有多少个整数,并输出这些数。
程序:
[bold]#include<stdio.h>
int main()
{
    char str[80];
    int *p;
    int i=0,j=0,digit=0,ndigit=0,a[20];
    printf("please enter a character string:\n");
    gets(str);
    p=&str[0];
    for(i=0;i<80&&*(p+i)!='\0';i++)
    {
        if(*(p+i)>='0'&&*(p+i)<='9')
        {
            digit=digit*10+(*(p+i)-'0');
            if(*(p+i+1)<'0'||*(p+i+1)>'9'||*(p+i+1)=='\0')
            {
                a[j]=digit;
                digit=0;
                ndigit++;
                j++;
             }
        }
   }
   for(j=0;j<ndigit;j++)
       printf(" %d",a[j]);
   printf("\n");
   return 0;
}[/bold]
问题:能通过编译,但得不到结果,请问出了什么问题,哪些条件缺少?
搜索更多相关主题的帖子: 疑点 指针 应用 
2007-12-05 13:31
josen0205
Rank: 2
来 自:江苏
等 级:论坛游民
帖 子:307
专家分:52
注 册:2007-5-8
收藏
得分:0 
int *p; 改为 char *p;

只有想不到,没有做不到
2007-12-05 14:04
静思
Rank: 3Rank: 3
来 自:沈阳
等 级:新手上路
威 望:8
帖 子:630
专家分:0
注 册:2006-2-28
收藏
得分:0 
编译能通过吗
你定义的变量p是int *,p=&str[0]这两边的类型不匹配吧

英者自知,雄者自胜
2007-12-05 14:18
妍清舞
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2007-11-12
收藏
得分:0 
把[bold] int[/bold] 改为[bold] char[/bold] 以后行了,谢谢。以后一定注意。
2007-12-07 10:23
快速回复:指针应用疑点
数据加载中...
 
   



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

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