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

By Tristan Cohan
at 2017-11-16T20:09
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)
--
如題,昨天試驗從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

By Megan
at 2017-11-21T10:38
at 2017-11-21T10:38

By Yuri
at 2017-11-22T16:02
at 2017-11-22T16:02

By Charlie
at 2017-11-24T04:19
at 2017-11-24T04:19

By David
at 2017-11-24T11:31
at 2017-11-24T11:31

By Ula
at 2017-11-29T02:53
at 2017-11-29T02:53

By Elizabeth
at 2017-12-01T16:46
at 2017-12-01T16:46
Related Posts
使用nginx顯示回應時間過長

By Faithe
at 2017-11-15T13:45
at 2017-11-15T13:45
想做服務監控自動重啟

By Hamiltion
at 2017-11-15T10:48
at 2017-11-15T10:48
雙系統開機選單不見了

By Emily
at 2017-11-15T01:38
at 2017-11-15T01:38
直接列印字串

By Joseph
at 2017-11-14T18:14
at 2017-11-14T18:14
gfortran error unrecognized command -i8

By Yuri
at 2017-11-13T18:29
at 2017-11-13T18:29