设有定义:char *c;,以下选项中能够打印出abc的是 ()
A. char str[]="abc";c=str;printf("%s",c);
B. scanf("%s",c);//输入abcprintf("%s",c);
C. c=getchar();//输入abcprintf("%s",c);
D. *c="abc"; printf("%s",c);
若有以下说明,则下面哪个叙述是正确的。struct { short a; float b;} v1;
A. 执行sizeof(v1)获得的结果是8个字节,对结构体变量v1中的任何一个成员都可以进行初始化。
B. 执行sizeof(v1)获得的结果是6个字节,只能对结构体变量v1中的第一个成员进行初始化。
C. 执行sizeof(v1)获得的结果是8个字节,只能对结构体变量v1中的第一个成员进行初始化。
D. 执行sizeof(v1)获得的结果是4个字节,对结构体变量v1中的任何一个成员都可以进行初始化。
以下是时钟模拟显示程序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。#include typedef struct clock{ int hour; int minute; int second;}CLOCK;/* 函数功能:时、分、秒时间的更新 */void Update(________) { static long m = 1; t->hour = m / 3600; t->minute = __________________; t->second = ___________; m++; if (t->hour == 24) m = 1; }/* 函数功能:时、分、秒时间的显示 */void Display(CLOCK *t) { printf("%2d:%2d:%2d\r", t->hour, t->minute, t->second);}/* 函数功能:模拟延迟1秒的时间 */void Delay(void) { long t; for (t=0; t<50000000; t++) {/* 循环体为空语句的循环,起延时作用 */ }}int main(){ long i; CLOCK myclock; myclock.hour = myclock.minute = myclock.second = 0; for (i=0; i<100000; i++) /* 利用循环,控制时钟运行的时间 */ { Update(&myclock); /* 时钟值更新 */Display(__________); /* 时间显示 */Delay(); /* 模拟延时1秒 */ } return 0;}
A. 第10行: CLOCK *t第14行: (m – 3600 * hour) / 60第15行: m / 60第44行: &myclock
B. 第10行: CLOCK t第14行: (m – 3600 * t->hour) / 60第15行: m / 60第44行: myclock
C. 第10行: CLOCK *t第14行: (m – 3600 * t->hour) / 60第15行: m % 60第44行: &myclock
D. 第10行: CLOCK t第14行: (m – 3600 * hour) / 60第15行: m % 60第44行: myclock
下面说法错误的是
A. 在一个结构体内不能包含另一个不同类型的结构体作为其成员。
B. 用结构体变量做函数参数,是将结构体变量的所有成员的内容传给被调函数,因此在被调函数中对结构体内容的修改不影响原结构体变量。
C. 结构体在内存中所占的字节数不仅与所定义的结构体类型有关,还与计算机系统本身有关。
D. 用指向结构体变量的指针做函数参数,是将结构体变量的地址传给被调函数,因此在被调函数中对结构体内容的修改会影响原结构体变量。