求下列C语言题目详解

作者&投稿:枝炎 (若有异议请与网页底部的电邮联系)
求下列C语言试题详解~

这么多问题都很简单啊....
你不仔细看书,弄这么问题还这么点分
你想累死个谁啊!

#include void main(){char c[100];int m, n, i;printf ("输入一个字符串(小于100个字符):
");gets (c);printf ("输入两个整数:");scanf ("%d%d", &m, &n);for (i=m-1; i#include void main (){int i, k, a, m, n, count = 0;printf ("输入两个数:
");scanf ("%d", &m);scanf ("%d", &n);for (i=m; ik){printf ("%3d ",i);count++;}if (count%10==0&&count!=0){printf ("
");count = 0;}}printf ("
");}

1。13个元素,hello\nworld\n这是12个元素,最后字符串结束标志是'\0',所以又13个

2. 首先int *p =&a[0]+1 ,这聚会等价于p指向了a[1],即p= &a[1],所以*p= a[1] = 3
3.首先8非0,所以!8=0,那么!!8=1
4.答案是15(绝对是15!!),应为define是简单的文本替换
所以10*MIN(10,15)等价于

10*10<15?10*10 : 15

所以是15
5.a=-264,
a+=a-=a*a等价于

1).a=a-a*a = 12-12*12= -132;
2).a= a+a = -132+(-132) = -264
6.首先算的是5>4?3:2 值是3,所以变为8>7?6:3,因为8>7所以值为6

1. 设变量定义为:int s[ ]="hello\nworld\n";,则数组s中有___13___个元素。(注意加上\0)
2. 设变量定义为:int a[2]={1,3}, *p=&a[0]+1;,则*p的值是___3__。
3. 表达式 !!8的值是__1____。
4. 下列程序段的输出结果是__15___。
   #define MIN(x,y) (x)<(y)?(x) : (y)
   printf("%d",10*MIN(10,15));
5. 设a为整型变量,初值为12,执行完语句 a+=a-=a*a后,a的值是___-264__。
6. 下列程序的输出结果是___6__。
#include<stdio.h>
main()
{
printf("%d",8>7?6:5>4?3:2);
}

求下列C语言题目详解
答:1。13个元素,hello\nworld\n这是12个元素,最后字符串结束标志是'\0',所以又13个 2. 首先int *p =&a[0]+1 ,这聚会等价于p指向了a[1],即p= &a[1],所以*p= a[1] = 3 3.首先8非0,所以!8=0,那么!!8=1 4.答案是15(绝对是15!!),应为define是简单的文本替换 所以...

c语言题求详解
答:} 答案:C 第一层for循环时i=j=0,p+i指向c,条件c!=\0成立,而且c比d小所以执行*(p+j)=’\0’,而这时j等于0所以字符串str的第0个位置被替换成\0,所以str变为\0dalb\0,然后i++,i变为1 。第二层for循环时i=1,j=0,p+i指向,d,条件d!=\0成立,而且d等于d所以执行*(p...

C语言选择题,求详解
答:应该选B。程序结果:解析:p 表示p是一个储存地址的变量 在这个程序中当运行完p=a;时,*p为"1",*p++也为"1"p++和*(p++)相同 printf的运行顺序是从左到右 p++是把*p存储的地址+1,而p的存储地址是数组的第一个,所以相当于把p的指针往后移一位,也就是说把p指向的数组的位置往后移一...

求C语言高手解答...下列题目的答案和(*p)[6]和*(*(p+1)+k)是什么意思...
答:int (*p)[n]; //意思为:p是一个指针,它指向一个数组,这个数组有n个元素。题目中*(p+1) = x[1];(*(p+1) + k) = x[1][k];如此:题目中for部分可改为 for( k = 0; k < 6; k++)s = s + x[1][k]; // s += x[1][k];这样应该不难看出题目所求结果为...

求一道c语言题目的详解
答:在for(k=2;k<6;k++,k++)语句中可以看出 k=2;k=4只做2次循环 在for(k=2;k<6;k++,k++)语句中包含着 s=1;赋值和for(j=k;j<6;j++) s+=j;循环体 第一次循环:k=2;s=1;j=k=2;j<6对 进入循环体s+=j;(s=s+j)s=1+2=3 之后语句回到for(j=k;j<6;j++)中...

C语言选择题8,9题,求大神给个具体解答思路和解析,谢谢了,在线等...
答:解析:B 选项中 char *p = &s;,该句无意义,由于 s 已经是一个 char * 变量了,再进行 & 操作符只会使它变为一个 char ** 的表达式,赋值到 p 中。C 选项中 char *p; p = *s;,该句无意义,只是把一个 char 表达式强制转换成 char * 表达式赋值到 p 中。D 选项中 char *p; ...

求C语言题目解析过程。谢谢。
答:1.有以下程序。// 函数 f 的参数 y 是传值,x 是传地址 // 在函数 f 里面对 y 的修改,不会影响到给参数 y 传值的变量(这里是主函数里面的变量 y)// 在函数 f 里面对 x 的修改,会影响到给参数 x 传地址的变量(这里是主函数里面的变量 x)void f(int y,int *x){ y=y+*x...

一道C语言题求详解过程
答:开始for循环,指针P先倒退一个指向d,puts函数将以d开头的字符串输出并换行;指针在倒退一个指向c,puts函数将以c开头的字符串输出;直到P的地址不在大于S的地址为止,即p指向数组的首地址S 的时候,也是P指向a 的时候;最后一次将以a开头的字符串输出;...

C语言题目,求详细解答。
答:答案是:x=5,y=4,a=1;过程:当x=3,y=6时 执行while(x(3)++!=(y=5))a+=1; (a=1);if(y<x) break; (因为y=5,x=4,所以不成立,因此不执行)注意:这时x因为(x++)所以,x=4;继续执行while(x++(4)!=(y=4))(因为上面y通过想减已经为5了,再减一,等4,与x...

两道C语言题目,求答案和解析,谢谢~
答:A:连续赋值,除了最右的项外,其余所有项都必须是可以赋值的变量,不可以是常量或者表达式。B:y==1是一个逻辑表达式,从题干得出其值为0,再将其赋值给x,最终结果是x被赋值0。C:i=float(x);语法错了。如果要实现将x强制转换为float类型并赋值给i,应该写作i=(float)(x);D:求余运算(%...