AT LINE 23- cout<“”没有给出任何错误,而是删除此语句会产生异常输出。我在使用mingw32的CodeBlocks中尝试过它。当我删除它时它给 - 过程返回1984687287(0x764DF487)
#include<iostream>
#include<stdio.h>
using namespace std;
int ispalin(long num)
{
long sum=0,n;
short rem;
n=num;
while(n>0) {
rem=n%10;
sum=sum*10+rem;
n/=10;
}
if(sum==num)return 1;
return 0;
}
int main()
{
int n=1;
for(int i=999;i>=1;i--) {
for(int j=999;j>=1;j--)
{
if((i*j)<=n)
{
cout<""; // LINE 23
break;
}
if((i*i)<=n)
{
printf("%d",n);
return 0;
}
if(ispalin(i*j))
{
n=i*j;
cout<<n<<"\n";
break;
}
}
}
return 1;
}
答案 0 :(得分:2)
if((i*j)<=n){
cout<<"";
^ Need one more <
...
}
某个平台上的 cout
(隐式void*
)对象可能与空字符串进行比较,<
给出一个布尔语句
对于Mingw 4.7.2而言,它给我带来了错误。
答案 1 :(得分:0)
它没有给出错误,因为它是一个合法的,虽然没有结果的声明。 ostream
个对象可隐式转换为void*
。因此,该表达式会导致void*
和const char*
之间的比较,这是合法的。
至于删除语句时的错误,我无法重现它。