Cygwin+gcc 程式運作問題? - Linux

Tristan Cohan avatar
By Tristan Cohan
at 2017-11-16T20:09

Table of Contents

不知道要發在Linux版還是C_and_CPP版 想想還是發在Linux版好了

如題,昨天試驗從C_and_CPP版的程式思路,是關於把float轉二進制的程式

程式碼如下

#include<stdio.h>

int f(int i, int j)
{
return (i < 32)?f(i + 1, j) && printf("%d", (j>>i)&1):1;
}
int main()
{
float a;
int *b = (int *)&a;

while(scanf("%f", &a) != EOF && f(0, *b))
printf("\n");

return 0;
}

但卻發現輸入數字後,不會出現我想要的輸出(浮點數->二進位),一直沒有輸出,像是
這樣: $./a.exe
10
20
30
40 完全不會有輸出


debug半天後發現好像是Cygwin的問題,直接在Win的資料夾打開後可以正常輸出

後來試驗過如果用管線的話可以正常運作

EX. echo 10 | ./a.exe OK
echo 10 | ./a.exe > out OK

但就是直接用鍵盤輸入時不會有動作

後來再寫一個小程式,反應也是一樣

#include<stdio.h>

int main()
{
int a;

while(scanf("%d", &a) != EOF)
printf("%d\n", a);

return 0;
}

想來應該是,Cygwin的問題了,有人有遇過類似的現象嗎?謝謝

附上環境:
WIN10 64bit

CYGWIN_NT-10.0 version 2.9.0(0.318/5/3) ([email protected])
(gcc version 5.4.0 20160603 (Fedora Cygwin 5.4.0-2) (GCC) )

gcc version 7.1.0 (x86_64-posix-seh-rev2, Built by MinGW-W64 project)

--
Tags: Linux

All Comments

Megan avatar
By Megan
at 2017-11-21T10:38
那就用管道啊, 像 cat | ./a.out
Yuri avatar
By Yuri
at 2017-11-22T16:02
可能是 cygwin 對 stdio 有一些包裝吧
Charlie avatar
By Charlie
at 2017-11-24T04:19
你直接printf呢?
David avatar
By David
at 2017-11-24T11:31
我在我的win10 cygwin測試了一下 正常喔
Ula avatar
By Ula
at 2017-11-29T02:53
CYGWIN_NT-10.0 2.9.0(0.318/5/3) 2017-09-12 10:18
Elizabeth avatar
By Elizabeth
at 2017-12-01T16:46
x86_64 Cygwin; gcc (GCC) 6.4.0

使用nginx顯示回應時間過長

Faithe avatar
By Faithe
at 2017-11-15T13:45
大家好,在下是個剛開始接觸網路世界的菜鳥 前陣子有試過架apache2算是成功了,不過後來莫名其妙就死掉了,儘管費盡心思挽救還是萬劫不復,最後在別人的建議下打算試試看nginx 設定檔都是照網路上的教學文複製貼上,但是沒辦法連線成功,顯示and#34;回應時間過長and#34; 輸入telnet (我的IP ...

想做服務監控自動重啟

Hamiltion avatar
By Hamiltion
at 2017-11-15T10:48
板上的大大們好 小弟我最近要做系統服務的死活監控 監控的項目包含 httpd snmp named nginx redis-server node mysqld mongod PM2 memcached 服務都有加上enable自動啟動 為了保險 寫了一隻script 確認運作期間的狀態 systemc ...

雙系統開機選單不見了

Emily avatar
By Emily
at 2017-11-15T01:38
小弟是win10灌ubuntu雙系統 但今天用完windows系統切換到ubuntu的時候 發現重新啟動後選單不見了 重新關機再開機也一樣 都會直接進windows系統 想請問版上大大們該怎麼辦 - ...

直接列印字串

Joseph avatar
By Joseph
at 2017-11-14T18:14
請問,如果我想用 echo and#34;中文字and#34; andgt; /dev/lp0 這種方法列印中文的話 有什麼方法嗎? echo and#34;Englishand#34; andgt; /dev/lp0 是可行的,但有中文字就出不來。 我有想過用 lp 指令,但 lp 指令是 lp fi ...

gfortran error unrecognized command -i8

Yuri avatar
By Yuri
at 2017-11-13T18:29
小弟linux新手 最近在安裝軟體時有以下幾列錯誤訊息 是執行mpif77 mpif90等時發生的 gfortran: error: unrecognized command line option and#39;-i8and#39; gfortran: error: unrecognized comm ...