#include "stdio.h"

#include "stdio.h"
main( )
{ void change( );
char c,*p=&c,bb ;
while ( (*p=getchar( ))!='n' )
{ bb=2; change(p,&bb)
if(bb=1) printf( "%c",*p ) ;
}
}
void change(char *pc,char *aa)
{ if ( *pc>='a' && *pc
曦禾477 1年前 已收到1个回答 举报

坚冰 幼苗

共回答了22个问题采纳率:90.9% 举报

读入一个字符,如果是小写字母,则在屏幕输出
#include "stdio.h"
main( )
/*声明函数*/
{ void change( );
/*p为指向c变量的指针*/
char c,*p=&c,bb ;
/*输入字符到p指向的内存,也就是c变量,当此字符为'n'时,循环结束*/
while ( (*p=getchar( ))!='n' )
{ bb=2; change(p,&bb)/*调用函数*/
/*这句有错误,应该是if(bb==1),也就是如果bb为1,则输出字符c*/
if(bb=1) printf( "%c",*p ) ;
}
}
/*函数change*/
void change(char *pc, char *aa)
/*如果pc指向的字符是小写字母,则设置aa为1*/
/*因为aa是指针类型,所以如果在此函数aa值改变,则调用此函数的函数中,实参值也改变*/
{ if ( *pc>='a' && *pc

1年前 追问

7

曦禾477 举报

这个程序段的调用关系我弄不大明白 比如while ( (*p=getchar( ))!='n' ) { bb=2; change(p,&bb) if(bb=1) printf( "%c",*p ) ;

举报 坚冰

这样能看懂了吗?*p=getchar(),*p!='n'是逗号表达式 此表达式是先执行*p=getchar(),然后判断*p!='n',并将*p!='n'的值作为表达式的值 while(*p=getchar(),*p!='n') { bb=2; change(p,&bb); if(bb=1) printf("%c",*p); }
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 18 q. 0.803 s. - webmaster@yulucn.com