| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 527 人关注过本帖
标题:[求助]简单又困惑的问题?
取消只看楼主 加入收藏
wolf_elite
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-6-26
收藏
 问题点数:0 回复次数:2 
[求助]简单又困惑的问题?

一个指针数组char *p[3] 分别指向多字符串char str[3][20]
现在的问题是:
*p[1]是否等于*(p+1)

搜索更多相关主题的帖子: 困惑 
2006-08-14 18:16
wolf_elite
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-6-26
收藏
得分:0 
我也这么想
你看
#include"stdio.h"
#include"string.h"
main()
{
char *a[3],cc[3][20];
int i;
char *p;
for(i=0;i<3;i++)
a[i]=cc[i];
for(i=0;i<3;i++)
scanf("%s",a[i]);
if(strcmp(*a,*(a+1))>0)
{p=*a;*a=*(a+1);*(a+1)=p;}
if(strcmp(*a,*(a+2))>0)
{p=*a;*a=*(a+2);*(a+2)=p;}
if(strcmp(*a,*(a+2))>0)
{p=*(a+1);*(a+1)=*(a+2);*(a+2)=p;}
for(i=0;i<3;i++)
printf("%s\n",a[i]);}


我把*(a+i)全代为*a[i]后有好几个warning
虽然能complie,但是不能运行
我不明白为什么会这样


2006-08-14 18:43
wolf_elite
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2006-6-26
收藏
得分:0 
以下是引用soft_wind在2006-8-14 19:40:15的发言:
引用
(p+1)则表示以数组P的地址为基地址向后漂移1一个字节。
楼上自己试一下这个
int a[3];
int *p=a;
printf("%x,%x",a,p+1);

.我不认为是向后漂移一个字节,而是增加它指向的对象长度


2006-08-14 21:10
快速回复:[求助]简单又困惑的问题?
数据加载中...
 
   



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

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