我是C初學者,這裏是我的問題。在C++中我會看壞輸入(不是無符號整數)這樣說:壞輸入C vs C++ cin vs scanf
long double c;
cin >> c;
if (c == (unsigned int) c) {
cout<<"OK";
}
else
cout<<"NOT OK";
然而,當現在學習C我試圖做同樣的方式,但它不工作:
long double c;
scanf("%lf", &c);
if (c == (unsigned int) c) {
printf("OK\n");
}
else
printf("NOT OK\n");
有關如何修復它的任何建議?我的任務是通過使用scanf和無字符串來完成此操作。我不想輸入負數和浮點數。爲什麼不工作?
爲什麼當你希望你的輸入是'unsigned int'時,你掃描到'long double'? – Xymostech 2013-03-26 21:00:30
@Xymostech *「我需要檢查負數和浮點數。」* – 2013-03-26 21:01:39
@DrewDormann啊。 – Xymostech 2013-03-26 21:04:02