输入三个数,按由小到大的顺序输出(用指针实现,C语言编写)?
#include
{
int a, b, c, *p1 = &a, *p2 = &b, *p3 = &c, *t;
printf("输入3个数:\n");
scanf("%d%d%d", &a, &b, &c);
if(*p1 > *p2)
SWAP(p1, p2);
if(*p2 > *p3)
SWAP(p2, p3);
if(*p1 > *p2)
c语言中!x是什么意思?
!x=not x
!x在c语言语句里面为一个运算,取非,也就是反意的意思,默认所有非0数为真,0为***,也就是说如果前提x为一个非0数,!x的结果就是0,如果x是0,结果就为1(默认值非0为1),而x!=0本身是一个判断语句,如果x本身是0,x!=0不成立,则这个式子值为0表示式子不成立,x等于任意非0数则x!=0成立,式子值为1,!x在括号里面作为判断条件等价于x==0
以下为运算过程:
非运算(!)
参与运算的表达式为真时,结果为***;参与运算的表达式为***时,结果为真。例如:
!0
0 为***,非运算的结果为真,也就是 1。
!(5>0)
5>0 的结果是1,为真,非运算的结果为***,也就是 0。
输出逻辑运算的结果:
#include <stdio.h>
"x!" -- 字符串 内容是 x!// x! -- 注解行/* x! */ -- 注解行 条件:if ( x!= 0) printf("x not equ zero \n"); else printf("x == zero \n");如果 x 不等于 0 则打印 x not equ zero, 否则 打印 x == zero!= 组合在一起是逻辑运算符“不等于” !x -- 这个表示 对 x 作 “非”运算。
用C语言,任意输入10个数,求其中的最大值和最小值,并显示位置?
思路:定义一个变量,并键盘输入一个数赋值给该变量,且把该数赋值给最大值和最小数。
接着for循环输出剩下9个数,并判断该数和最大值最小值的大小关系,更新最大值和最小值,最后输出最大值和最小值。 参考代码:
#include?"stdio.h" int?main() { int?a,max,min,i; scanf("%d",&a); max=min=a; for(i=1;i<10;i++){ scanf("%d",&a)
; if(max<a)?max=a; if(min>a)?min=a; } printf("最大值为:%d,最小值为:%d\n",max,min);??????? } /* 运行结果: 8?7?3?4?1?9?2?0?5?6 最大值为:9,最小值为:0 */
-> 在c语言中是什么意思?
“->”是一个整体,它是用于指向结构体子数据的指针,用来取子数据。
换种说法,如果我们在C语言中定义了一个结构体,然后申明一个指针指向这个结构体,那么我们要用指针取出结构体中的数据,就要用到“->”。
问题中的p=p->next ,意思是将p指向的一个结构体实例中的自数据next赋值给p。