关于#c语言#的问题:A. strlen(strcpy(s,”Hello'’))B. strcat(s,strcpy(sl,”8”))C. puts(puts(”rom'’))D.

若有如下定义:
char s[tOO]="string";
则下述函数调用中,( )是错误的。
A. strlen(strcpy(s,”Hello'’))
B. strcat(s,strcpy(sl,”8”))
C. puts(puts(”rom'’))
D. !strcmp(””,s)
为啥选C,可以解释一下吗,各位专家

puts函数没有返回值,puts里还嵌套puts,不出错了吗
再遇到这种函数嵌套的题,最先看里面套着的函数到底有没有返回值,没有返回值你把它当参数传进里面能行吗
至于返回值类型到不用太在意,反正c语言是弱类型,各种值类型能隐式互相转换,它不报错就得了,至于套一起起什么作用你不用较真