几道c语言的题目 ,我看不懂答案,希望高手解释下,感激不尽!

关于c表达式5||(a=b+c)==3的值,正确的说法为( A )
A.值为1 B.值为5 C.值为0 D.3

11.若定义结构体变量
struct student
{ int num;
char name[10];
int age;
}student1;
则结构体变量student1在内存中占 14 字节。

#include <stdio.h>
void main( )
{
int i, j, m, n;
i=6; j=9;
m=++i; n=j++;
printf(“%d,%d,%d,%d\n”, i, j, m, n);
} 71079

#include <stdio.h>
void main( )
{
char a[ ]="morning", t;
int i, j=0;
for(i=1; i<7; i++)
if(a[j]<a[i]) j=i;
t=a[j]; a[j]=a[7]; a[7]=a[j];
puts(a);
}
Mo

写出下列语句的执行结果。
#include <stdio.h>
#define MAX 10
int a[MAX], i;
void sub1( )
{ for(i=0; i<MAX; i++) a[i]=i+i; }
void sub2( )
{ int a[MAX], i, max;
max =5;
for(i=0; i<max; i++) a[i]=i;
}
void sub3(int a[])
{
int i;
for(i=0; i<MAX; i++) printf("%d,", a[i]);
printf("\n");
}
void main( )
{ printf("\n"); sub1( ); sub3(a); sub2( ); sub3(a); }

空一行
0,2,4,6,8,10,12,14,16,18,
0,2,4,6,8,10,12,14,16,18,

有以下程序,执行结果为: 24
main( )
{
int p[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7 && p[i]%2) {k=k+p[i];i++;}

printf(“%d\n”,k);
}

21.以下程序的输出结果
main( )
{ int i=1,j=3;
printf(“%d,”,i++);
{ int i=0;
i+=j*2;
printf(“%d,%d,”,i,j);
}
printf(“%d,%d\n”,i,j);
}

1,6,3,2,3

简单的给你说几个吧。你好好学习就对了。

1。 可以看成 5 || ((a=b+c)==3) 。首先你得概念明确,|| 这个东西,这是最基本的运算,左右任何一个为true,结果为true,而且这个表达式只返回true, false 也可以认为是1, 0 。对于数字5,非0数字结果就是true,不用管右面是什么,这个结果一定是true或者1

2。 这个需要明确int的内存占用字节,目前现在cpu中int都是4个byte,按照你这个答案来看,int应该是2个byte。 char是1个byte。 2 + 1 * 10 + 2 = 14

3。 首先知道i++和++i的区别。 i++是使用i后i在加1,++i是i先加1后在使用i。m=++i,就是i先加1,然后再赋值给m,则i为7,m为7。n=j++,就是j先赋值给m,然后再加1,则n=9, j=10
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜