❶ 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函數不需要特殊的頭文件名,只要有