| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 1212 人关注过本帖
标题:一个让人感觉矛盾的字符二维数组!!!
取消只看楼主 加入收藏
NO.Tomato
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-1-5
收藏
 问题点数:0 回复次数:1 
一个让人感觉矛盾的字符二维数组!!!
程序1:#include "stdio.h"
#include "string.h"
void main()
{char a[2][20];
 int i;
 for(i=0;i<2;i++)
    [bold] scanf("%s",a+i);[/bold] for(i=0;i<2;i++)
     printf("%s\n",a+i);
}
程序2:#include "stdio.h"
#include "string.h"
void sotr(char *p[])
{int i,j;
 char *temp;
 for(i=0;i<9;i++)
     for(j=0;j<9-i;j++)
         if(strcmp(*(p+j),*(p+j+1))>0)
         {temp=*(p+j);
          *(p+j)=*(p+j+1);
          *(p+j+1)=temp;
         }
}
void  main()
{int i;
 char *p[10],str[10][20];
 for(i=0;i<10;i++)
     *(p+i)=str+i; printf("Input 10 strings:\n");
 for(i=0;i<10;i++)
     scanf("%s",p[i]);
 sotr(p);
 printf("Now ,the sequence is :\n");
 for(i=0;i<10;i++)
     printf("%s\n",p[i]);
}
为什么上面可以输入,下面的不可以赋给地址!希高手不吝赐教!!!

Let's do it now.
2008-01-07 09:47
NO.Tomato
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-1-5
收藏
得分:0 
我又回来了
上面的题目中p[i]与*(p+i)是等价的
而为什么str[i]与*(str+i)是等价的而不与str+i是等价的
谭浩强的《C语言程序设计》上面明明说str[i]与*(str+i)与str+i全是相等的

Let's do it now.
2008-01-07 17:04
快速回复:一个让人感觉矛盾的字符二维数组!!!
数据加载中...
 
   



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

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