[C语言题用二维数组和冒泡排序]#include<stdio.h> #define n 4 int main() { char a[n][30]; char tempstr[30]; char ch[30]; int b[n]; int i,j,temp; printf("你好使用者,我是一个自动分析程序,请输入你想...+阅读
在C语言中,有时我们需要函数的返回值为一个二维数组。这样外部函数接收到这个返回值之后,可以把接收到的二维数组当成矩阵操作(外部函数不可用普通的一级指针接收返回值,这样的话,外部函数将不知道它具有二维性)。方法如下:
法1.没有使用typedef类型定义
[cpp] view plaincopy
#include
int (*fun(int b[][2]))[2]
{
return b;
}
int main()
{
int i,j;
int a[2][2]={1,2,5,6};
int (*c)[2];
c = fun(a);
for(i=0;i<2;i++)
for(j=0;j<2;j++)
printf("%d ",c[i][j]);
return 0;
}
法2.使用typedef类型定义
[cpp] view plaincopy
#include
typedef int (*R)[2];
R fun(int b[][2])
{
return b;
}
int main()
{
int i,j;
int a[2][2] = {1,2,5,6};
R c;
c = fun(a);
for(i=0;i<2;i++)
for(j=0;j<2;j++)
printf("%d ",c[i][j]);
return 0;
}
使用typedef类型定义可以增加程序的可读性
这两种方法本质上是一样的
以下为关联文档:
C语言编程题:移位函数既能循环左移又能循环右移1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include <stdio.h> #include <math.h> unsigned fun(unsigned num, intn) { if(n > 0) { //sizeof(unsigned)*8计算变量所...
api函数是什么?c语言编程中可以用api函数吗API英文全称Application Programming Interface,是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的API而使操作系统去执行应用程序的命令(动作)。 其实早在DOS...
C语言编程排序问题冒泡法正确的程序如下: 正确的程序如下: #include "stdio.h" void main() { int i,j,t,a[8];/*变量K没用*/ for(i=0;i<8;i++) scanf("%d",&a[i]);/*%d后不能加空格*/ for(j=1;j<8;j++)/*...
09 C语言编程上机实验101.#include<iostream.h> void main() { int i=1;unsigned long int count=1; for(;i<=20;i++) { count=count*i; } cout<<"1-20的自然数之积为:"<<count<<endl; } 2.#include<i...
C语言程序设计上机实验考试题目:功能:找出一维和二维数组中的#include<stdlib.h> #include <stdio.h> void maxa(int a[]) { int *p = a; int n = 1; int temp = *p; while( n < 10 ) { n++; p++; if( *p > temp ) temp = *p; } printf...
C语言二维数组/***用二维数组保存学生成绩****/ #include"stdio.h" #define M 100 main() { int i,a[M][2],n,c=0,m=0,max,min; printf("请输入学生记录数:"); scanf("%d",&n); /*********输入每个...
c语言二维数组编程1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #include<stdio.h> #include<string.h> intmain() { chara[3][100]; inti,j,n; for(i=0;i<3...
编写c语言二维数组一: #include <stdio.h> void main(){ int i,j; int a[5][3]; for(i=0;i<5;i++) for(j=0;j<3;j++){ scanf("%d",&a[i][j]); } for(i=0;i<5;i++){ for(j=0;j<3;j++){ printf("%d...
C语言二维数组问题不是 这么说吧,数组名本身就是指针,指向数组的第一个元素 至于你所说的调用调用二级(二维吧)数组,难道不是如普通变量般直接调用吗? 根据问题补充说,这是不允许的,main()函数的形参是...