❶ c语言中一条竖线是什么符号
“|”在C语言中表示按位或,是双目运算符。其功能是参与运算的两数各对应的二进位(也就是最后一位)相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。
例如:13|17可写算式如下:
(1)c语言运行结果出现一条线扩展阅读:
1、位运算:
整数在计算机中用二进制的位来表示,C语言提供一些运算符可以直接操作整数中的位,称为位运算,这些运算符的操作数都必须是整型的。
& 按位与, | 按位或 , ^ 按位异或
AND (位与&) OR ( 位或| ) XOR ( 位异或^ )
2、竖式运算
按位或是位运算的一种,是将两个数据的二进制表示右对齐后,按位进行运算,两个对应的二进制位中只要一个是1,结果对应位就是1。
1 | 1 = 1 , 1 | 0 = 1 , 0 | 1 = 1 , 0 | 0 = 0
❷ c语言中一条竖线是什么符号
|,按位或,适用于两个整型表达式,对每一个二进制位,逐位进行“或”运算。
❸ C语言,这个竖线该怎么搞
这个字符是 | ,在回车键的上方,退格键的下方,右中括号 ] 的右边,和反斜杠 是同一个键。按住 shift 再按反斜杠,就能打出 | 。
❹ 为什么C程序对的还会出现红波浪线 是什么原因
codeblock 是多语言编译器 你建立的文件是c文件吗 另外 在codeblock 即使语法正确 有些时候也会出现这种情况 比如说scanf中双引号里格式串的内容 在printf双引号里的格式串也会有波浪线 因为这个格式串是你定义的 而不是编译器中语法的一部分 所以会有波浪线
❺ 用vs2010敲c语言代码,为什么每次输入#include都下面出来条红线
补完后面要 include 的头文件啊。没敲完完整一行不用看错误提示。
❻ c语言,哪位大神知道这个程序怎么写,一直卡在线段没相交怎么解。
以下我写了一种方法,供题主参考。
#include<stdio.h>
#include<stdlib.h>
//这个struct用于代表一条线段,总共有
//三条线段,所以建一个长度为3的数组
structsegment{
intstart;
intend;
}segments[3];
//函数声明
intcmp_function(constvoid*seg_1,constvoid*seg_2);
intcalculate_length(structsegment*segments);
intmain(){
structsegmentseg_a,seg_b,seg_c;
inta_x1,a_x2,b_x1,b_x2,c_x1,c_x2;
//获取a,b,c的信息,将其存储到struct中
//并放到数组中
printf("输入a的x1坐标: ");
scanf("%d",&a_x1);
seg_a.start=a_x1;
printf("输入a的x2坐标: ");
scanf("%d",&a_x2);
seg_a.end=a_x2;
segments[0]=seg_a;
printf("输入b的x1坐标: ");
scanf("%d",&b_x1);
seg_b.start=b_x1;
printf("输入b的x2坐标: ");
scanf("%d",&b_x2);
seg_b.end=b_x2;
segments[1]=seg_b;
printf("输入c的x1坐标: ");
scanf("%d",&c_x1);
seg_c.start=c_x1;
printf("输入c的x2坐标: ");
scanf("%d",&c_x2);
seg_c.end=c_x2;
segments[2]=seg_c;
//使用C语言stdlib库中的qsort快速排序函数来对
//线段进行排序,比较规则cmp_function需要自己来写
qsort(segments,sizeof(segments)/sizeof(*segments),
sizeof(*segments),cmp_function);
//排序后使用calculate_length函数计算结果并输出
printf("线段覆盖长度为:%d ",calculate_length(segments));
return0;
}
//计算覆盖面长度,基本思路是找出所有的连续线段的长度,
//然后将它们累加
intcalculate_length(structsegment*segments){
inti,j,length=0;
//因为存放三条线段的数组已经排好序,所以按顺序遍历每个线段
for(i=0;i<3;++i){
//将第一条线段的起终点设为连续线段的起终点
intcur_start=segments[i].start;
intcur_end=segments[i].end;
for(j=i+1;j<3;++j){
//访问后一条线段,若其起点在当前连续线段终点之内,说明目前
//线段之间还未出现断点
if(segments[j].start<cur_end){
//此时需要比较一下当前线段和连续线段终点,如果当前线段
//的终点比较长那么就把连续线段的终点换成当前线段的终点,
//这样连续线段的长度就变长了。
cur_end=cur_end<segments[j].end?
segments[j].end:cur_end;
//因为j位置的线段已经处理过了,所以下次循环时直接
//跳过
i=j;
//一旦后一条线段起点在当前连续线段终点之外,那么说明出现了
//断点,也就是说找到了一条以cur_start为起点,cur_end
//为终点的完整的连续线段,那么就可以退出这一轮循环并计算
//连续线段的长度了
}elsebreak;
}
//将总长度加入新增的连续线段的长度,然后开始下一轮循环,寻找
//下一段连续线段
length+=(cur_end-cur_start);
}
returnlength;
}
//比较规则
intcmp_function(constvoid*seg_1,constvoid*seg_2){
//如果线段一的起点小于线段二的起点,那么线段一排在前面
if(((structsegment*)seg_1)->start<
((structsegment*)seg_2)->start)
return-1;
//如果线段一与线段二起点相同,则若线段一终点小于线段二终点,
//将线段一排在前面
elseif(((structsegment*)seg_1)->start==
((structsegment*)seg_2)->start&&
((structsegment*)seg_1)->end<=
((structsegment*)seg_2)->end)
return-1;
//非上述情况则将线段二排在前面
return1;
}
几种情况下的运行结果:
题主题目中的数据:
❼ #c语言 为什么会是一条横线我哪里出错了
#include <stdio.h>
int main()
{
int a,b,c,d,e;
for(a=100;a<1000;++a)
{
b=a/100;
c=a%100/10;
d=a%10;
if(a==b*b*b+c*c*c+d*d*d)
printf("%d ",a);
}
return 0;
}
❽ 怎样用c语言编一个程序,运行结果显示一条直线
【功能】在两个指定点之间画出一条直线。
【原型】lint(int x1,int y1,int x2,int y2)
【位置】graphics.h
【说明】使用当前颜色、线条样式和线条粗细从(x1,y1)画一条直线到(x2,y2)。
❾ C语言代码编译后生成一条横线
可以直接使用printf输出一条横线,也可以用循环的方法输出指定长度的横线。
想要用C语言输出一条横线非常简单,最简单的一种方法就是直接用printf函数输出,但是这需要你在代码里就已经写好横线的样子才行,而使用循环则可以只写一小段横线,然后让循环遍历输出,最后就可以输出一条很长的横线。
使用printf函数不需要特殊的头文件名,只要有