| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2035 人关注过本帖
标题:百思不得其解
只看楼主 加入收藏
死亡军团
Rank: 2
等 级:论坛游民
威 望:2
帖 子:166
专家分:20
注 册:2008-11-4
结帖率:100%
收藏
 问题点数:0 回复次数:22 
百思不得其解
以下的程序显示没有错误的,但在编译时会发生错误,说内存不能为“written”
   不知道这是为什么呢?????
   #include<stdio.h>
#include<string.h>
void main ()
{
    char *p[10];
    int i=0;
    void px (char *p[]);
    do
      {
        printf("input number%d string\n",i+1);
        scanf("%s",p[i]);
        i++;
       }  while(i<10);
     px(p);
     printf("result:\n");
     for(i=0;i<10;i++)
       printf("%s\n",p[i]);
}

     void px (char *p[])
   {
         char*temp;
         int i,j,k;
         for(i=0;i<9;i++)
          {  k=i;
             for(j=i+1;j<10;i++)
             if(strcmp(p[k],p[j])>0)  k=j;
             if(k!=i)
             {temp=p[k];
              p[k]=p[i];
              p[i]=temp;}
           }
     }
搜索更多相关主题的帖子: 百思不得其解 
2008-11-14 21:33
wangxingang
Rank: 1
等 级:新手上路
帖 子:27
专家分:5
注 册:2008-10-31
收藏
得分:0 
你想实现什么功能?
2008-11-14 22:01
tanlinghang
Rank: 1
来 自:四川大学
等 级:新手上路
帖 子:21
专家分:0
注 册:2008-11-1
收藏
得分:0 
既然声明的是char,为什么scanf的时候用%s呢,%s是字符串变量啊。。。char是单字符变量,为什么不用%c呢。。。这点我不是很理解,初学者的看法。

Only by standing on the shoulder of the giant can I see farther and farther.
2008-11-14 22:05
网易
Rank: 1
来 自:金星
等 级:禁止访问
帖 子:193
专家分:0
注 册:2008-6-10
收藏
得分:0 
for(j=i+1;j<10;i++)

答案是:雨中飞燕!
2008-11-14 22:12
死亡军团
Rank: 2
等 级:论坛游民
威 望:2
帖 子:166
专家分:20
注 册:2008-11-4
收藏
得分:0 
回二楼的:
      我想实现的是十个数组的排序;
  回三楼的:
      我定义的是指针变量,我也不知道怎么给你解释,你自己看看书吧;
  四楼的:
      那个问题我已经改过了,但还是不行了
2008-11-14 22:23
网易
Rank: 1
来 自:金星
等 级:禁止访问
帖 子:193
专家分:0
注 册:2008-6-10
收藏
得分:0 
char *p[10];
scanf("%s",p[i]);
//这种写法应该是错误的   

等待他人详细解答中……

答案是:雨中飞燕!
2008-11-14 22:57
dsr_dbh
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2008-10-29
收藏
得分:0 
如题。
你的指针数组中,每一个指针在赋值前没有分配空间。。。
2008-11-14 23:41
starcool
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2008-11-13
收藏
得分:0 
10个元素应该给11个位置吧。最后一个要预留一个空(\0)留结束的。不然就死循环了吧。个人观点
2008-11-15 01:02
hokers
Rank: 1
等 级:新手上路
威 望:1
帖 子:102
专家分:0
注 册:2008-11-9
收藏
得分:0 
char *p[10];
   .....
   .....
 scanf("%s",p[i]);

你觉得这能行么.
2008-11-15 01:14
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
--------------

    11楼说得对,你的指针全部没有申请空间,当然是错误的。其它的小错误也有,但对于没有空间来说,还算是小错误。就如同一个人没有房子,要再多的家俱、家电也没用,没地方搁。
2008-11-15 01:39
快速回复:百思不得其解
数据加载中...
 
   



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

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