我是 C 语言的初学者,这是我的问题。在 C++ 中,我会以这种方式查找错误的输入(不是无符号整数):
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 而不使用字符串来做到这一点。我不想输入负数和浮点数。为什么这不起作用?