(1)
#include <stdio.h>
#include <conio.h>
int
main ( )
{
int i = 1 , k ;
k = 0 ;
if ( 1.0 / k || 3 / 2 )
{
printf ("%d" , i ) ;
} getch ( ) ;
return 0 ;
}
(2)
#include <stdio.h>
#include <conio.h> int
main ( )
{
int i = 1 , k ;
k = 0 ;
if ( 1 / k )
{
printf ("%d" , i ) ;
} getch ( ) ;
return 0 ;
}
(3)
#include <stdio.h>
int
main ( )
{
int k = 0 ;
if ( 1.0 / k )
{
putchar ('a' ) ;
}
return 0 ;
}
在Vc 6.0中和Microsoft Visual C++ 2010 Express 为什么第一个版本不会报错,而第二个版本会报错, 为什么 第三个版本中 if 判断为真。。。 C语言中关于x/0,或者x/0.0是如何规定的。。。 求牛人解答。。。
#include <stdio.h>
#include <conio.h>
int
main ( )
{
int i = 1 , k ;
k = 0 ;
if ( 1.0 / k || 3 / 2 )
{
printf ("%d" , i ) ;
} getch ( ) ;
return 0 ;
}
(2)
#include <stdio.h>
#include <conio.h> int
main ( )
{
int i = 1 , k ;
k = 0 ;
if ( 1 / k )
{
printf ("%d" , i ) ;
} getch ( ) ;
return 0 ;
}
(3)
#include <stdio.h>
int
main ( )
{
int k = 0 ;
if ( 1.0 / k )
{
putchar ('a' ) ;
}
return 0 ;
}
在Vc 6.0中和Microsoft Visual C++ 2010 Express 为什么第一个版本不会报错,而第二个版本会报错, 为什么 第三个版本中 if 判断为真。。。 C语言中关于x/0,或者x/0.0是如何规定的。。。 求牛人解答。。。