C语言,这题为什么选D?

为什么这题是0,1而不是1,2?他return不是+1了吗?

第1个回答  2020-08-11
第一次调用是改了data变量地址的值,return的值没有被接收,data是12%2 = 0;第一次打印data就是0;第二次调用时data = 0, 0%12 = 0 , 最后return+1 = 1 , data接收了return的值, 打印data是1
第2个回答  2020-08-11
因为第一次调用change的返回值没有赋给data。

而第二次调用赋给了data。
第3个回答  2020-08-11

解析如下:

本回答被提问者采纳
第4个回答  2020-08-11
第一次调用change(&data)并没有接收返回值,因此返回值没有作用。

c语言这个道题为什么选D?
这是因为在C语言中,求余数运算符%只能适用于两个整数的运算,不可以应用于浮点数。如果一个整数保存在浮点型变量中时,应该使用强制类型转换,先把它转换成整型,然后才可以进行求余数的运算,而在C语言中,强制类型转换是有格式的,所以要选择答案d ...

C语言问题 图上为什么选D? 可不可以步骤说详细点,拜托拜托!!!
选D,关键要简化执行 n++ 的条件。在 while(!i) 中,因为 i 的取值为(2,3,4),所以 !i 的值始终为0,所以 main 函数里面的 do while 语句其实只能执行一次。在 for 循环中,i 在 (2, 3, 4)这三个值中,n都要+1。另外 do while 中 当 i == 3 时 i % 3 == 0, i...

C语言等考题目求解,为什么选D
所以答案是D。

c语言 为什么选D
这个其实是因为:当数组名p传给指针形参s后,没有改变形参s指向的值(即*s的值,这其实就是字符数组p的第一个元素的值,数组p后面元素的值则是*(s+i),其中i是字符数组p的下标),而是改变了形参s存储的地址而已(s中存储的地址由main函数中数组p的首地址改为数组a的首地址),但main函数中输出的...

C语言 求解为什么选D
int fputc ( int ch, FILE * stream ) 是 fputc 函数的原型,所以,传入需要写入的字符的和 FILE 类型指针,所以选择 D

C语言 解析为什么选D
因为是scanf函数,所以他的参数需要能表示地址的,显然A中的s[0].name是地址,B中的&s[0].age也是地址,C中的&(p->sex)也是地址 所以D是错误的,ps->age不能表示age的地址

很简单的 C语言题目,第2题为什么选D不选C呢,有什么区别吗
有区别啊。“=”是赋值运算符,用来给某个变量赋值,“==”是关系运算符,用来判断两个值大小是否相同,当左边的内容与右边的内容相同时,返回1,其余时容候返回0。现在的题目是判断余数是否为2,所以要用关系运算符去判断,因此选择“D”选项。

C语言题 求解 为什么选D
A,B,C传递的是变量的指针,只有D传递的是变量的复制

C语言 解析为什么选D
p->next)p=p->next; \/* 让p指向c的循环 *\/p->next=q; \/* 让p的下一个节点链接到q上,即c->a *\/q->next=NULL; \/* 将a指向的下一个节点置为NULL *\/ \/\/由于 c->a 且b->c \/\/故,新的链表为b->c->a \/* 综上所述,D正确。 *\/ ...

C语言题,为什么是D
你的cset定义的是长整形long 那么输出的时候肯定就是长整形的输出符号ld%咯 如果你定义的是int 那么输出的时候才是d

相似回答