您的位置:

这道c语言不太懂,C语言你会吗

本文目录一览:

这道c语言怎么做,解析看不懂,谁能详细说一下

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数组,不知道这是出题故意的还是说打印问题

这道C语言的题怎么解啊,我看了一下解析还是看不太懂?

这是复杂指针,有个从右向左读的规则。读法:从标识符开始(如题中的T),先右读,遇到反括号)再向左。从内向外,直至读完。

比如题中的T,

1)右读,T是一个10元素数组。遇反括号,向左读,数组的元素类型是指针

2)指针指向哪呢?向右读,遇到[10],原来指向一个10元素数组

3)这个数组的元素类型是int *

不过题目显然完全不需要读懂它的含义,因为只要找形式完全相同的就行了,很明显是D。

复杂指针一般在dll,底层调用等地方有应用,平时是用不上的

C语言书上的一道题不太懂高手请指点一下

for(m=3;m=100;m=m+2)

m从3开始,然后第2次循环是5,每次加2,知道m=101,判断大于100,不在运行循环内的程序。

k=sqrt(m);

这是K=根号m,的意思,math库函数中有这个函数sqrt()为开根号。

for(i=2;i=k:i++)

/*总之这一段讲解一下哈

if(m%i==0)

/*还这

和下面几行

break;

如果m可以整除i就跳出这个循环

if(ik)

{

printf("%5d",m);

}

如果m都不能被i整除,打印出m

if(n%5==0)

printf("\n");

每打印5个数,换行输出;

整个程序的功能是:输出3到100以内的素数

程序结果是对的,但是格式不对,应该是3,5,7

前面都有4个空格,17~97前面都有3个空格。因为你是printf("%5d",m);

的%5d!