以下程序的功能是: 读入一行字符(如: a , … y , z ) , 按输入时的逆序建立一个链接式的结点序列, 即先输入的位于链表尾 , 然后再按输入的相反顺序输出, 并释放全部结点。 请选择正确的内容填入( ) 中。
# include
# define getnode(type) ( type * ) malloc(sizeof(type))
main( )
{
struct node
{
char info ;
struct node *link ;
}*top ,*p ;
char c;
top = NULL ;
while ( ( c = getchar ( ) )!= ‘\n’ )
{ p = getnode ( struct node ) ;
p ->info=c ;
p ->link = top ;
top =p ; }
while ( top )
{
( ) ;
top = top ->link ;
putchar ( p ->info ) ;
free ( p ) ; }
}
答案解析
解析:
相关题目
以上程序的运行结果是( )
#include
struct NODE
{int k;
struct NODE *link;
} ;
void main(void)
{ struct NODE m[5], *p=m, *q=m+4;
int i=0;
while(p!=q)
{
p->k=++i; p++;
q->k=i++; q--;
}
q->k=i;
for(i=0; i<5; i++)
{
printf("%d", m[i]. k) ;
}
printf("\n") ;
}
以下程序结果是( )
#include
#define S(x) 4*x*x+1
void main(void)
{
int i=6, j=8;
printf("%d\n", S(i+j) ) ;
}
下面程序运行结果是( )
#include
void main(void)
{
for(int nI = 0; nI < 6; nI++)
{
switch(nI % 5)
{
case 0:
printf("*") ;
break;
case 1:
printf("#") ;
break;
case 2:
printf("&") ;
break;
default:
printf("\n") ;
break;
}
}
}
关于字符串和字符数组的说法正确的是( )
已知字符 A 的 ASCII 代码值为 65, 以下程序运行时若从键盘输入: B33. 则输出结果是( )
#include
void main(void)
{
char a, b;
a=getchar() ; scanf("%d", &b) ;
a=a-' A' +' 0' ; b=b*2;
printf("%c %c\n", a, b) ;
}
对字符串赋值正确的是( )
若一台计算机的字长为 32 位, 则表明该机器( )
#include
int SUM( int nK )
{
int nS = O;
do
{
nS += nK % 10; nK /= 10;
} while(nK) ;
return nS;
}
void main( void )
{
printf( "%d\t", SUM( 7432 ) ) ;
}
以上程序的输出结果是( )
关于指针的说法正确的是( )
#include
void main(void)
{
int i = 0, nB = 1;
while(i < 5)
{
switch(nB)
{
case 1:
case 5:
nB += i;
case 6:
nB++;
case 10:
nB += 3;
default:
;
}
i++;
}
printf("i = %d, nB = %d\n", i, nB) ;
}
以上程序的执行结果是( )
