24小时热门版块排行榜    

查看: 918  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

文俊点点

木虫 (著名写手)

[求助] 指针问题

char ch[];
把ch通过函数传地址的方式给 char *sptr;
在函数内部,char *p = sptr;可以遍历数组,

用p=sptr;也可以遍历数组。

第一种会循环很多次然后结束,第二种是遍历数组的长度次数。

按照理解,第一种应该不能遍历的啊。   那么*p的内容应该是什么。





void paixu(int length, char *sptr)
{
  char *p = sptr;
  //p = sptr;  
  int i = 0;

  while(1)
  {
    if(*p == 'c'|| *p == 0)
    {
   //
      break;
    }
   p++;
  }
}












[ Last edited by 文俊点点 on 2012-4-15 at 14:31 ]
回复此楼
这是你所拥有的时间·····这是你所能改变的生活·········
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nakada3861

新虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
文俊点点: 金币+1, ★★★很有帮助 2012-04-18 20:08:07
(*p)就是p指针所指向内存中的存储内容啊。
9楼2012-04-16 08:15:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

lurencyj

木虫 (著名写手)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
文俊点点: 金币+2, ★★★★★最佳答案, 第一种是怎么遍历的········?把地址赋给*P,怎么理解?*p里面是数组的首地址? 2012-04-15 16:59:22
“按照理解,第一种应该不能遍历的啊。”

楼主怎么理解的啊?两种都是可以遍历的,而且没有循环次数的区别
CODE:
#include                                                                                                             

using namespace std;
void paixu(int length, char *sptr)                                                                                                         
{      
        char *p = sptr;                                                                                                                    
        //p = sptr;                                                                                                                        
        int i = 0;                                                                                                                        
        
        while(1)                                                                                                                           
        {      
                cout << *p << ",";                                                                                                         
                if(*p == '\0')                                                                                                            
                {      
                        break;                                                                                                            
                }
                p++;                                                                                                                       
        }
        cout << endl;                                                                                                                     
}                                                                                                                                          

int main(int argc, char *argv[])                                                                                                           
{      
        char p[] = "abcdefg";                                                                                                              
        paixu(9, p);
        cout << "out " << endl;
        for (int i = 0; i< 9; i++)
                cout << p[i] << "; ";                                                                                                      
        return 0;                                                                                                                          
}

» 本帖已获得的红花(最新10朵)

很女子很弓虽大
2楼2012-04-15 16:38:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

文俊点点

木虫 (著名写手)

送鲜花一朵
引用回帖:
2楼: Originally posted by lurencyj at 2012-04-15 16:38:50:
“按照理解,第一种应该不能遍历的啊。”

楼主怎么理解的啊?两种都是可以遍历的,而且没有循环次数的区别


#include <iostream>                                                                 ...

可以啊·········在gcc里面第一种也可以,而且遍历的次数很多。查了输出赋值的几个字符外,还输出很多火星文。
这是你所拥有的时间·····这是你所能改变的生活·········
3楼2012-04-15 16:57:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

文俊点点

木虫 (著名写手)

帖子不能修改了 郁闷啊·············

我的意思是*p=pstr;  *p里面存放的是数组的首地址,那么取值的时候,*p的值应该是pstr啊,怎么回是赋值的那个字符呢·······
这是你所拥有的时间·····这是你所能改变的生活·········
4楼2012-04-15 17:17:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 是这周出结果还是下周出结果? +3 yuleib84 2026-08-11 3/150 2026-08-11 21:53 by jnhyjjm
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +3 majunge000 2026-08-11 4/200 2026-08-11 20:13 by lch2012
[硕博家园] 读博的好处 +3 lnee 2026-08-11 3/150 2026-08-11 18:10 by 希望我好好的
[论文投稿] 职称评审,求友友推荐见刊最快的期刊 +3 工厂打螺丝 2026-08-08 3/150 2026-08-11 13:42 by 会议编辑
[基金申请] 听说今天filecode变了 +26 布布和一二 2026-08-06 49/2450 2026-08-11 13:18 by WH3796
[基金申请] FileCode能看出啥? +7 要乐观耀哥 2026-08-10 17/850 2026-08-11 10:50 by 要乐观耀哥
[基金申请] filecode +9 documentary 2026-08-10 9/450 2026-08-11 10:08 by wk7465
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +8 家与远方 2026-08-10 13/650 2026-08-11 09:49 by 家与远方
[基金申请] 基金中了 +15 laoda193707 2026-08-06 15/750 2026-08-11 00:11 by jiafei2190
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +10 yufeiwaner 2026-08-09 11/550 2026-08-10 18:47 by yufeiwaner
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 2026国自然放榜时间 +9 布布和一二 2026-08-08 9/450 2026-08-10 11:22 by xxxx2020
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
[基金申请] 关于豆爷回答的JTJC与%2F数量 +5 yang182083 2026-08-06 7/350 2026-08-08 18:29 by zhanghaozhu
[基金申请] 化学口download_prp&amp;fileCode的固定段好像这几天一直没变,有变的大神么? +3 Tide man 2026-08-07 4/200 2026-08-07 22:39 by Tide man
[基金申请] filecode变化情况 +6 布布和一二 2026-08-07 22/1100 2026-08-07 14:45 by 且听虎啸
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
信息提示
请填处理意见