这道c语言怎么做,解析看不懂,谁能详细说一下
发布网友
发布时间:2023-07-22 16:46
我来回答
共3个回答
热心网友
时间:2023-09-22 13:17
1、第一个scanf的函数,赋值的不是字符串,而是字符(%c),又因为它是for函数的执行语句,所以根据for函数,scanf函数一共要运行7次,分别给b字符串数组的前7位赋值,原b的前七位是:
The空格shy。 而输入的语句的前七位是Fig空格flo。它将前者替换了,所以现在的:
b[]="fig空格flo空格is空格blue."
2、gets()函数的用法和scanf类似,都是赋值。gets(A)的意思是把整个字符串赋值给A,又因为前面将Fig flower is red 的前七位赋值给了b,所以从第八位开始赋值:wer空格is空格red.
3、所以答案就是:A
Fig flower is red.The sky is blue.
ps:另外我觉得这道题有错才对,因为前面并没有定义过A和B数组,不知道这是出题故意的还是说打印问题
热心网友
时间:2023-09-22 13:18
在main()前面加一个void,变成void main().
否则在visual studio 2005+的环境下编译不能通过.
这个程序用i,j,k分别表示a,b,c对应的选择,每个人都是从x到z的循环.
如果遇到i,j,k值相等的时候就继续下一个循环,因为每个人对阵的对手不能相同.
if(i!='x'&&k!='x'&&k!='z')这句是根据已知条件进行的检查,
要求a不能是对阵x,k不能对阵x和z,
如果所有的检查都通过了,那么就printf输出这组解.
热心网友
时间:2023-09-22 13:18
for(i=0;i<7;i++),b[0]到b[6]“Fig flo"逐个字符赋值(空格算)b[7]后字符不变,gets(A)将"wer is red"赋值给啊a[20].还有a,A与b,B是题印错了吗?