c语言的基础题

请朋友 帮我回答一下下面几道小题 谢谢
1、 m=5;m++;
m++有两个功能,分别是?
2、 int n=5; a[n]; //这样定义数组的错误是什么?
3、 函数声明的格式是什么?
4、 定义一维、二维数组的格式中可以省略哪一个下标?
5、 掌握二维数组的输入和输出。

1,m=m+1,实现m自加1
2,C语言不允许对数组的大小作动态定义,即数组的小不依赖于程序运行过程中的变量的值。
3,分两种情况:第一种有参函数的声明:
类型标示符 函数名(形式参数表列)
{
声明部分
语句部分
}
第二种 无参函数的声明
类型标示符 函数名()
{
声明部分
语句部分
}
4,一维的不能省略,二维的可以省略第一个下标。
5,可以用for循环实现,以int型的二维数组为例:
输入:
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i]);
输出:
for(i=0;i<n;i++)
for(j=0;j<m;j++)
printf("%d",a[i]);
(n为数组的第一个下标,m为第二个下标)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-01-11
1。m=m+1,实现+1
2。这样a[n]不知道是什么类型的
3. 函数类型 函数名( 参数名 );
4。二维可以省略第一个?
5.这是个问题么?
第2个回答  2010-01-11
1.m++有两个功能,分别是
返回m的当前值和中返回当前值之后将m的值加1

2.这样定义数组的错误是,定义数组时各维的长度必须用常量指定,不能用变量.

3.函数声明的格式 :
返回值类型 函数名(形参列表);

4、 定义一维、二维数组的格式中可以省略第一个下标

5.

#include <stdio.h>

int main(void)
{
int a[2][2];
int i;
for (i=0;i<4;i++) scanf("%d",&a[i/2][i%2]);/*二维数组的输入*/

for (i=0;i<4;i++) printf("%d\t",a[i/2][i%2]);/*二维数组的输出*/

return 0;
}
第3个回答  2010-01-11
1. m是变量...没什么功能~ 所谓的2个就更莫名了
++累计加一这个大概意思.. m++ => m = m + 1;
如果++在变量前面,则在内存中操作中省略重新复制的过程..所以会少个步骤

2. int x = 5; int y[x]; 编译通过

3. 返回类型 函数名(形参)

4. 能省略的?

5. 2次循环
相似回答