T
F 形参可以作为返回值返回,当然形参的改变不会引起实参的变化
F
F
T函数首部和函数体 ,也可以说成事声明部分和语句部分
F
T:true F:false
答案是DA,C不对,因为s是指向了内存的指针,而且指定了大小,数组初始化楼主应该了解吧,肯定不是这样。
B不对是因为C语言没有这样初始化数组的(这就是语法),而且貌似还少些了一个引号
D是C语言允许的,实际操作是将这个字符数组(串)的首地址复制给s,s是一个指针,指向了这个字符串,访问时按地址访问下去,直到遇到'\0'作为结束,内存未知容易出现问题
char
s[]="BOOK!"
char
s[]={'B','O','O','K','!'}
char
s[10]strcpy(s,"BOOK!")
char
*s="BOOK!"
或char
*ss="BOOK!"
//这条看似无理,但是是C语言支持的,而且使用广泛
都是正确的
如果是我使用的话会是:
char
s[10+1]
memset(s,0,sizeof(s))
strcpy(s,"BOOK!")
没别的,安全
坦白说:从语法上来讲,前两个语句都是对的。
如果sancf里包含空格,那么当输入时,对应的输入一个数字后也要输入一个空格。
但是:
如果sancf语句,输入数字,不适用空格,或者逗号,或者其他符号来间隔输入的数字,那么数字输入何时才算结束呢,这样,得到输入的数据都不会是程序员本来想输入的数字。
所以,严格来说:
有空格优于没有空格
--------------------------
double 严格说使用%f ,%lf也不出错~~ long double 使用%Lf,%lf就会出错,此处说出错是程序不报错,运行结果往往不对~~