C语言菜鸟问题

若有说明语句int a[3][4],则对a数组元素的非法引用是
A.a[0][2*1] B.a[1][3] C.a[4-2][0] D.a[0][4]

看了前面几位说的,感觉有点乱,这么给你说应该会让你更加明白点:
printf("%d\n%d\n%d\n%d\n",++i,--i,i++,i--);

其中,++i,--i,i++,i--;
这是逗号表达式,执行顺序为从右向左,++i,会先i自增1,然后作为++i这个表达式的返回值;对于i--,在基础的时候就应该知道C程序是用分号“;”分割每条语句的,那么整个的printf()就是一条语句,所以i--这个表达式会先返回i本身的值,然后再该条完整语句结束后,再自减1;

对于改到题目:首先执行运算过程最右面的
i--返回值为8,i的值也为8,
然后运算i++返回值为8,i的值也为8,
在执行--i先i自减1,返回值为7,i的值也变为7,
再执行++i先字加1,返回值8,i的值也为8,
但输出还是从左向右依次输出,
所以输出为8
7
8
8;
输出之后在执行
i
=
i
-
1;
i
=
i
+
1;
温馨提示:内容为网友见解,仅供参考
第1个回答  2019-09-16
printf("%d\n%d\n%d\n%d\n",++i,--i,i++,i--);
首先的是最后面的i--,他的值给最后一个%d=8,第二个是7(等一下i的值才是8,因为后置自增的问题)
以上这是满意答案所说。
我刚才在linux下分别用GCC
和G++编译,得出的结果都是
8
7
7
8;可是在windows下VC的编译结果确是8
7
8
8;这个问题就出在i++,这个先用后加,到底在什么之后加,windows
VC测试是在整条语句,即分号之后才加1,而linux下无论是GCC还是G++编译,都是执行完表达式i++之后马上就自增一,然后去执行i--;

难道我说的不对么?补充的这些有问题?亲自测试的。。。我的Q
289854934,哪里有问题你提出来。
第2个回答  2009-01-31
D
由于数组从0开始计数,所以只能记到a[0][3],a[0][4]是非法的!!
注意从0开始计数就可以啦~~~
第3个回答  2009-01-31
D
因为
int a[3][4];
实际上有
a[0][0]
a[0][1]
a[0][2]
a[0][3]

a[1][0]
a[1][1]
a[1][2]
a[1][3]

a[2][0]
a[2][1]
a[2][2]
a[2][3]
第4个回答  2009-02-01
d
只有d下标越界
a相当于a[0][2]c相当于a[2][0]
表达式可以作下表
变量也可以

C语言的菜鸟问题
在C语言编程中,void表示无返回值,意味着该函数执行完毕后不会返回任何值。main()函数是C语言中的特殊函数,由操作系统自动调用,并在执行完毕后返回给操作系统。因此,当函数头为void main()时,表明该函数不向操作系统返回任何值。在这种情况下,无需在函数体最后添加return语句,如return 1;。然而...

C语言菜鸟求高手解答...
1. 第一个问题似乎是一个关于C语言条件判断的疑问。你需要明确表达你的问题,以便得到具体的解答。2. 在C语言中,`m++` 表示先使用变量 `m` 的值,然后将 `m` 的值加1。所以,表达式 `m++ > 5` 首先将 `m` 的值(初始为5)用于比较,然后 `m` 自增。3. 由于 `m` 的初始值是5,...

菜鸟提问:c语言return0啥用
明确答案:在C语言中,`return 0;`通常用于表示程序的正常结束。详细解释:1. `return 0;`的含义 在C语言中,`return 0;`是主函数`函数)结束时的一个常见语句。这里的`return`关键字用于指示函数的结束,并返回一个值。对于主函数来说,这个值被操作系统所接收,作为程序退出时的状态码。2. 状...

菜鸟提问:c语言 return0啥用
在C语言中,`return 0`其实是一个函数结束的标记,它用于返回一个常数或者表达式的值。在主函数`main()`中,如果不指定函数类型(如`void`),或者没有其他特别的返回语句,通常情况下并不需要显式地使用`return 0`,因为程序的结束默认意味着返回0。不过,`return 0`在其他函数调用中的作用就显得...

a aa aaa aaaa aaaaa 菜鸟提问,这个用C语言如何编程?
用循环就解决了。示例:include <stdio.h> int main(){ int i = 0;printf("请输入需要输出的行数:\\n");scanf("%d", &i);int count = 0;for (int j = 0; j < i; j++){ count++;for (int k = 0; k < count; k++){ printf("a");} printf("\\n");} return 0;} 注...

C语言问题简单的很,菜鸟送分,在线等
1.程序分析:用第一个与最后一个交换。2.程序源代码:define N 5 main(){ int a[N]={9,6,5,4,1},i,temp;printf("\\n original array:\\n");for(i=0;i<N;i++)printf("%4d",a[i]);for(i=0;i<N\/2;i++){temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;} printf("...

C语言问题简单的很,菜鸟送分,在线等,超级高分,给我讲明白,否则关闭问题...
p--; \/\/令p指向字符串中的前一位 \/\/此时,p指向了字符串的最后一位 for( ; t > 0 ; t-- ) \/\/从后往前输出字符串的每一位,t每减小1就输出了一个字符,t=0的时候恰好每一位都已输出 { printf("%c",*p);p--; \/\/令p指向字符串的前一个字符 } printf("\\n");} ...

基于C语言开发的菜鸟驿站管理系统
基于C语言的菜鸟驿站管理系统随着互联网的发展,快递行业迅速壮大,催生了对高效快递管理系统的迫切需求。本文设计了一个基于C语言的管理系统,专注于用户和管理员功能的实现,以提升快递处理效率和用户体验。1. 系统概述系统使用C语言开发,利用VS2015作为编译器,采用文本文件.txt作为数据库。目标是通过用户...

c语言菜鸟 求详解啊
答案选C.ex变量在此是共用体变量,里面数据公用一个空间(最大那个),此处占用空间最大的为int型和float型,char只占用一个。所以三个变量一共只占4个字节就够了。故选C

几道c语言题目 菜鸟望高手解答
第一道题:输出的是:0 1 3 4 \/\/因为for循环 i从0到4 但是当i等于2的时候执行了continue,也就是直接跳转到下一次循环,所以2没有输出 第二题:t为2 因为 if-else 结构中的else是和最近一个if相匹配的,又因为if(x<y)不成立,所以直接执行输出语句,即输出2 第三题:3 6 9 因为x被...

相似回答
大家正在搜