A. 阅读下面的程序,分析代码是否能够编译通过,如果能编译通过,请列出运行的结果。否则请说明编译失败的原
第一个可以通过编译,如下图:
B. 下面哪些代码能通过编译
编译检查的是你的语法,语法没错通常就可以通过; 运行是出现这个错误可能是你申请的某块内存有问题,或者你使用的指针指向的内存其实是不可用的。检查一下你所用的指针看看代码不看了。
C. 能通过编译,但却不能成功运行
通不过MS VC++ 编译器。
(1)stacknode *newptr=(struct stacknode *)malloc(sizeof(stacknode));
应当是:
stacknode *newptr=(stacknode *)malloc(sizeof(stacknode));
(2)linkstack *s; s->top=NULL;
s没有初始化,就使用了。
(3)char elem;
scanf("%d",&elem); char 型不能用%d 格式
要么改成 unsigned char elem
要么改成 %s
D. 在java中,源程序能通过编译,能说明什么问题
通过编译只能说明当前没有语法错误,例如String s = null;就是个合乎语法的写法,但是如果这样 Sring s = null;就会出现编译错误,因为没有Sring这个类型。
通过编译的程序不一定会正确的运行,因为可能存在逻辑错误,逻辑错误就是诸如数组越界这类的错误。
不知道这么说楼主明白了没~
除数不为0不是语法错误,首先来看,1/0这个式子是没有错的,错的是结果,因为0不能作为除数,所以这是逻辑错误。
E. 为什么java里面它能通过编译
在编译的时候编译器不管你右边是什么类,只要左边的CircleFromGeometricObject
类能编译通过就不会报错。但是运行的时候就要按照右边的类实际情况来运行。
如果强转失败就会抛出异常,编译是没有问题的
F. 能正确通过编译的程序一定是正确的程序吗
不一定啊。而且大部分程序都是要反复调试才能正确。
编译过的程序只是编译器能够识别,没有语法错误。
G. 以下 C 语言代码是否能编译通过并请说明原因。
如果是原原本本的话不能通过,因为你调用了system函数,这个函数包含在stdlib.h这个库中,你并没有把它包含进来。所以执行的时候会报错,但是有些编译器会忽略它,报错之后仍然执行。
在包含之后该程序是可以编译通过并且正常运行的。这边就是利用了define的功能而已。
功能是输出:hello world 。
并且使用了pause进行暂停,也就是你要敲两次回车才能结束程序,你会在屏幕上看到两个请按任意键继续。
H. 表达式int z=7&&15;能通过编译吗
如果是C或者C++的话是可以的
int是整数型的变量,&&是“与”的判断符,只要符号两边的数字不等于零或者判别式正确,就会返回1,表示成立,通常用于bool变量或者if判断中,但也是可以在int里成立的。
(望采纳)
判别式返回值
I. JAVA中,是不是所有异常都能通过编译,只是运行时才产生错误
如果你代码写的就有错误的话肯定是无法通过编译的,运行时异常是可以通过编译的,但是运行就会报错