| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1256 人关注过本帖
标题:哪位有空帮我做道题啊
只看楼主 加入收藏
风中的承诺
Rank: 1
等 级:新手上路
帖 子:331
专家分:0
注 册:2004-10-31
收藏
得分:0 

学习嘛,当然多学一点是一点拉


I love you not because of who you are, but because of who I am when I am with you!
2004-11-01 20:44
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 

请问这是什么意思

E:\c\text\text.cpp(19) : error C2601: 'main' : local function definitions are illegal E:\c\text\text.cpp(29) : fatal error C1004: unexpected end of file found Error executing cl.exe.


动于心而静如水
2004-11-01 23:25
poppylx
Rank: 1
等 级:新手上路
帖 子:367
专家分:0
注 册:2004-9-27
收藏
得分:0 

#include <stdio.h> void fun (int x[3][3]) { int i,j,temp; for(i=0;i<3-1;i++) { for(j=i+1;j<3;j++) { temp=x[i][j]; x[i][j]=x[j][i]; x[j][i]=temp; printf("%d\t",x[i][j]); } printf("\n"); }

void main() { int i,j,x[3][3]; for (i=0;i<3;i++) { for(j=0;j<3;j++) scanf ("%d",&x[i][j]); } fun(x); }

这样应该可以吧 不过有个错误我找不到

请高手指点下


动于心而静如水
2004-11-01 23:51
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 

哈哈,temp=*((int *)x+i*n+j); 这个是什么意思?

首先,需要明白的是数组指的是静态的,他们在内存中是连续的,无论是一维还是多维数组都是这样。那么强制转换x为指向整形的指针,这样做是为了x+i时表示是指向第i个整形的指针。而不是其他类型的。比如说(char *)x+i;那么它表示的是以x为首地址的指向第i个字符型的指针。按照多维数组在计算机内存中的连续排序规律那么,x[i][j]的地址,不就是 第i*n+j个吗即地址=(int *)x+i*n+j;


我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2004-11-02 08:34
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
收藏
得分:0 

小弟我也来写一个啦,望大家指点一下咯

#include<stdio.h> #define M 3 #define N 3 void Tarray(int (*p)[N]);

void main() { int i,j,a[M][N] = { 1,2,3, 4,5,6, 7,8,9 }; for(i=0;i<M;i++) { for(j=0;j<N;j++) printf("%d ",a[i][j]); printf("\n"); } Tarray(a); printf("\n\nAfter transfer the array is:\n\n"); for(i=0;i<N;i++) { for(j=0;j<M;j++) { printf("%d ",a[i][j]); } printf("\n"); } }

void Tarray(int (*p)[N]) { int iCount,jCount,temp; for(iCount=0;iCount<M;iCount++) { for(jCount=iCount;jCount<N;jCount++) { temp=*(*(p + iCount) + jCount); *(*(p + iCount) + jCount) = *(*(p + jCount) + iCount); *(*(p + jCount) + iCount) = temp; } } }


如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2004-11-02 09:16
gvtbs
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2004-9-6
收藏
得分:0 
学习编程算法比什么都重要啊!写法格式什么的都是一种形式只要算法学到手无论学什么编程都是一样的啊!
2004-11-02 09:34
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 

学习编程算法比什么都重要啊!写法格式什么的都是一种形式只要算法学到手无论学什么编程都是一样的啊!

晕死,算法当然是最核心的,但是如果你光有思想,无法实现的话!!就等于是空想!!


我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2004-11-02 09:58
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 

晕死!!你的fun少些一个}

米白了吗!!


我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2004-11-02 11:16
风中的承诺
Rank: 1
等 级:新手上路
帖 子:331
专家分:0
注 册:2004-10-31
收藏
得分:0 
[QUOTE]

首先,需要明白的是数组指的是静态的,他们在内存中是连续的,无论是一维还是多维数组都是这样。那么强制转换x为指向整形的指针,这样做是为了x+i时表示是指向第i个整形的指针。而不是其他类型的。比如说(char *)x+i;那么它表示的是以x为首地址的指向第i个字符型的指针。按照多维数组在计算机内存中的连续排序规律那么,x[i][j]的地址,不就是 第i*n+j个吗即地址=(int *)x+i*n+j;

[/QUOTE]明白了

I love you not because of who you are, but because of who I am when I am with you!
2004-11-02 17:17
风中的承诺
Rank: 1
等 级:新手上路
帖 子:331
专家分:0
注 册:2004-10-31
收藏
得分:0 

其实中间那一段向下面这样写也行,那个X本来就是指向数组的首地址

temp=*(x+n*i+j); *(x+n*i+j)=*(x+n*j+i); *(x+n*j+i)=temp;


I love you not because of who you are, but because of who I am when I am with you!
2004-11-02 23:04
快速回复:哪位有空帮我做道题啊
数据加载中...
 
   



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

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