1 设已定义“char *ps[2]={“abc”,”1234”};”,则以下叙述中错误的是( )
A.ps为指针变量,它指向一个长度为2的字符串数组
B.ps为指针数组,其两个元素分别存储字符串”abc”和”1234”的地址
C.ps[1][2]的值为’3’
D.*(ps[0]+1)的值为’b’
2 以下对结构体类型变量的定义中,不正确的是( )
A.typedef struct aa {int n; float m;} AA; AA td1; B.#define AA struct aa AA {int n;float m;} td1;
C.struct {int n;float m;} aa; struct aa td1; D.struct {int n;float m;}td1;
3 若已有以下结构体定义和初始化,则值为2的表达式是( )
struct complex{ int x; int y;} c[]={1,2,3,4} ;
A.c[0].y B.y C.c.y[0] D.c.y[1]
最好解释得详细点,谢谢~
4 设已定义:struct {int a;float b;}s,*ps=&s;,则错误的结构体成员引用是( )
A.s.a B.ps->a C.*ps.a D.(*ps).a
第二题宏定义后面的字符串可以有空格吗?
第三第四求详解,在线等,满意加财富,万分感谢~
c语言有一道题不会做,求高手解,最好分析一下。
答案是:C 因为scanf("%c%c",&a,&b);接收的是1和2,在输入后按了“回车”这个回车符会传递到下一句,也就是:c=getchar(); ,这样 c 赋值为回车符了;d=getchar(); 接着就是这句,你输入34的时候,d 只接收单个字符,也就是 3 ;所以最后的输出是:12 3 ...
C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下原因..
第三项结果是一个指针,也就是一个地址。它就是a[2][1]的地址,由于scanf要求是地址,所以它是正确的。
C语言菜鸟求高手解答...
1. 第一个问题似乎是一个关于C语言条件判断的疑问。你需要明确表达你的问题,以便得到具体的解答。2. 在C语言中,`m++` 表示先使用变量 `m` 的值,然后将 `m` 的值加1。所以,表达式 `m++ > 5` 首先将 `m` 的值(初始为5)用于比较,然后 `m` 自增。3. 由于 `m` 的初始值是5,...
c语言几个小小的问题 高手帮个忙
1. C 逗号在这里不合法 2. 输出2,虽然x是浮点型,但是10和4都是整型,所以先按整型运算,再将结果转换为浮点型 3. (++x, y++)表示这是一个逗号表达式,逗号表达式取最后一个表达式的值,也就是y++的值,所以输出结果是3和3 4. printf("%8.4g\\n",b); 这句输出8756,%g表示按%e或者%...
用C语言求解一元二次方程,菜鸟问题,求高手解答。。。
void main(){float a,b,c,disc,x1,x2,realpart,imagpart;scanf("%f,%f,%f",&a,&b,&c);disc=b*b-4*a*c;if(fabs(disc)<=0.0001) printf("has two equal roots:%8.4f\\n",-b\/(2*a));else if(disc>0.0001){x1=(-b+sqrt(disc))\/(2*a);x2=(-b-sqrt(disc))\/(2*a...
c语言编程题,请高手帮忙做一下,拜谢,急急急急……
1.include <stdio.h> double funcPi(int);int main(void){ int arg;printf("Input the argument: ");\/\/ \/\/ 无异常输入 \/\/ while (!scanf("%d", &arg)){ printf("Check your input and retry: ");while (getchar()!='\\n'){ continue;} } while (getchar()!='\\n'){ continue...
高分C语言问题~~·高手请进
int getValue(int A[]){ 初始 int S=0 1. (数组A)n个数字从小到大排序 (例如:1,2,9)2. 取上步中最小的两个数相加之和为一个M , S=S+M 3. 数组A中除去最小的两个数,然后将M加进去形成一个新数组A元素个数为 n=n-1 4. n>1时回到1.否则函数返回S+A[0] (或S+M,因为...
c语言问题,求高手给我一个求n的阶乘的总和的程序。最好是写在c++上然后...
main(){long s,sum,i,n;printf("输入 n:");scanf("%ld',&n);s=1;sum=0;for(i=1;i<=n;i++){for( ;i<=n;i++)s=s*i;sum=sum+s;} printf("n 的阶乘的总和为:%ld\\n",sum);}
C语言简单编程题目两道,求高手做一下。高分!!!
第1题 :include <stdio.h> include <stdlib.h> define MAX 200 int main(void){ int a[MAX], i = 0;srand(time(NULL)); \/\/ 时间种子, 保证真随机, 每次不会相同 while (i < MAX) { a[i] = rand() % 10000; \/\/ 随机获得10000以下数字, 0-9999 if (a[i] < 1000) { ...
C语言编程问题!!高手救命,在线等答案
另外,对于应该输入float的时候用户输入char导致跳过某些变量输入的情况,这和scanf内部实现的机制有关,因为它是靠类型指针来获取对应值的,那么如果对于普通类型(比如float,VC6中为4字节)变量,如果用户的录入有问题(比如char*),scanf会直接跳过当前变量的赋值。针对这种情况,如果非要用C语言而不是...