| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 499 人关注过本帖
标题:一个关于指针的问题
只看楼主 加入收藏
宇智波曌
Rank: 2
等 级:论坛游民
帖 子:98
专家分:15
注 册:2011-4-17
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:7 
一个关于指针的问题
输入 :****A*BC*DEF**G*******
输出 : ****ABCDEFG
怎么用指针编写
搜索更多相关主题的帖子: ABCDEFG 
2011-05-18 17:53
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:3 
不知道你的输入 处理* 和 A-Z ,还有什么字符。如果只是有 * 和A - Z,那就好办,如果有其他的,你就要做额外的过滤了

// 先保存 ****A*BC*DEF**G******* 到 字符数字中,比如:
char szBuffer[256] = {"****A*BC*DEF**G*******"};

char *pTraver = szBuffer;

bool bFindFirstNumber = false;

while (*pTraver != '\0') {
     if (!bFindFirstNumber) {
         if ('A' < *pTraver || *pTraver < 'Z' ) {
             bFindFirstNumber = true;
         }
         else {
             // 输出字符 *pTraver
         }
     }
     else {
          if ('A' < *pTraver || *pTraver < 'Z' ) {
             // 输出字符 *pTraver
          }
     }
     pTraver++;      
}

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-05-18 23:39
宇智波曌
Rank: 2
等 级:论坛游民
帖 子:98
专家分:15
注 册:2011-4-17
收藏
得分:0 
回复 2楼 yuccn
bool bFindFirstNumber = false;
这表示什么意思啊
2011-05-19 12:55
lomey
Rank: 2
等 级:论坛游民
帖 子:18
专家分:19
注 册:2007-7-21
收藏
得分:3 
以下是引用宇智波曌在2011-5-19 12:55:48的发言:

bool bFindFirstNumber = false;
这表示什么意思啊
定义一个bool(布尔值)类型变量,bFindFirstNumber(变量名),并赋值(初始化)为false(假).

不知说的对不对.

C++ 新学员
2011-05-19 14:52
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
回复 3楼 宇智波曌
该变量用于标记是否遍历到第一个字母了。

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-05-19 17:23
宇智波曌
Rank: 2
等 级:论坛游民
帖 子:98
专家分:15
注 册:2011-4-17
收藏
得分:0 
回复 5楼 yuccn
程序代码:
#include <stdio.h>
#include <string.h>
void main()
{

 char s[81]="****A*BC*DEF**G******";

 char a[81]="0";

 char *p=s;

 strncpy(a,s,4);
printf("%s\n",s);
printf("===================================\n");

 printf("%s",a);

 while (*p!='\0')

 {
   if(*p!='*')
       printf("%c",*p);

 p++;
}

 printf("\n");
printf("===================================\n");
}
我是这样编写的,虽然可以得到想要的结果,但是我想把printf("%c",*p)输出的结果用 strcat 连接到数组 a 的后面,这个想法怎样实现啊!
2011-05-19 18:35
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6815
专家分:42393
注 册:2010-12-16
收藏
得分:0 
#include <stdio.h>
#include <string.h>
void main()
{
    char s[81]="****A*BC*DEF**G******";
    char a[81]="0";
    char *p=s;
    strncpy(a,s,4);
    printf("%s\n",s);
    printf("===================================\n");
    printf("%s",a);

    char *pTraver = a + 4;
    while (*p!='\0')
    {
        if(*p!='*') {
            printf("%c",*p);
            *pTraver = *p;
            pTraver++;

        }

        p++;
    }

    printf("\n");
    printf("a = %s\n",a);


    printf("===================================\n");
}

// 加上不同颜色的那些就行了

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2011-05-19 20:20
宇智波曌
Rank: 2
等 级:论坛游民
帖 子:98
专家分:15
注 册:2011-4-17
收藏
得分:0 
回复 7楼 yuccn
谢啦!
2011-05-20 22:13
快速回复:一个关于指针的问题
数据加载中...
 
   



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

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