执行int a=1; printf("%d, %d, %d\n", a, ++a, a++)的结果为3,3,1。这个语句的输出结果不是唯一的,因为对于求值的顺序是不一定的,所以说还有可能输出的结果为1,2,2。当求值的顺序为自右向左是,那么a++先引用1然后再加1,会输出1,然后++a是先加1再引用,会输出3这个结果,...
4.2 使用我的编译器,下面的代码 int i=7; printf("%d\n", i++ * i++); 返回 49?不管按什么顺序计算, 难道不该打印出56吗?尽管后缀自加和后缀自减操作符 ++ 和 -- 在输出其旧值之后才会执行运算, 但这里的``之后"常常被误解。没有任何保证确保自增或自减会在输出变量原值之后和对...
int a[]={1,2,3,4,5,6,7,8,9,0};int *p;for(p=a;p<a+10;p++){ printf("%d",*p);} 你这个i 很莫名其妙啊 上面的程序等同于下面这个程序 int a[]={1,2,3,4,5,6,7,8,9,0};int i;for(i=0;i<10;i++){ printf("%d",a[i]);} for (p=a ;p<a+10;p++)p...
7 D. 6 10、分析以下程序的输出结果是( )。 main() {int a=5,b=-1,c; c=adds(a,b); printf(“%d”,c); c=adds(a,b); printf(“%d\n”,c); } int adds(int x,int y) {static int m=0,n=3; n*=++m; m=n%x+y++; return(m); } A. 2,3 B. 2,2 C. 3,2 D. 2,4...
a-b<c||b==c 在这个式中减号运算符最高,其次是<,==,|| a-b=5-2=3 3小于c?c=1,显然不小于,结果a-b<c值为0 然后计算,等于运算符== b等于c吗?(2=1)显然b≠c,所以b==c结果为0 最后是或运算符|| 0||0的值为0 所以结果为0 ---C语言中运算符优先级--- 1级(...
include <stdio.h> void main(){ int a=5,b=10;int c;c=(a++)+(b++)+a*b;printf("c=%d\n",c);} 运行结果:c=65 include
showArr(a);printf("\n"),i=5;if(Del_elem(a,i)) printf("删除数组a中第%d个元素后数组变为:\n",i);showArr(a);return 0;} void showArr(int a[]){ int i;for(i=0;i<len;i++) printf("%d ",a[i]);printf("\n");} int *Get_elem(int a[],int i){ if(i>size...
若未增1,则 出了打印语句后 会自增1。(建议,不要使用这种 带 不确定 因素的 语句。)-- 例子, MS VC++ 5.0 include<stdio.h> int main(){ int a=1,b=3,c=3;printf("%d, %d, %d",(a++,b++,c++),b,c);return 0;} 输出: 3, 4, 3 (不是 3,3,4)按...
第一题:D 第一次s+=a++就是s=s+(a++)=0+5=5,然后a自加1变为6,第二个 s+=a++就变成了s=5+6=11,a自加过后变成了7;第二题:B do while循环最少都要执行一次循环,先执行do里面的循环体,所以x--=23,x=22,!x=0,退出循环 第三题:D 进入for循环,x=10,i=0,x>8为...
printf(“%d\n”,c);} 答案:2 2、include <stdio.h> main(){ char c=’A’+10;printf(“c=%c\n”,c);} 答案:K 3、#include <stdio.h> main(){char c=’a’;int I=97;printf(“%c,%d\n”,c,c);} 答案:a,97 4、#include <stdio.h> main(){ int a=5,b=8;if...