下面程序段没有编译错误的是
#include<stdio.h>
intmax(inta,intb);
intmain(void)
{
inta,b,c;
scanf("%d%d",&a,&b);
c=max(a,b);
printf("maxis%d ",c);
return0;
}
intmax(inta,intb)
{
returna>b?a:b;
}
max函数未定义
Ⅱ java,下面的程序片段有错误吗,它能否编译通过,为什么
不能通过编译
因为异常捕捉, 应该先捕获小异常, 然后捕获大异常
修改成为
try{
}catch(ArithmeticExceptiona){
}catch(Exceptione){
}
Ⅲ 有下面程序段 char a[3],b[ ]="china";a=b;printf("%s",a);则是否编译错误
有编译错误。
数组之间拷贝不能直接使用a=b,而是可以使用字符串拷贝函数strcpy。而且数组a的长度只有3,而数组b有5个字符,还不包括结尾字符。
字符串拷贝函数strcpy格式:strcpy (字符数组名1,字符数组名2) 的功能:把字符数组2中的字符串拷贝到字符数组1中。串结束标志“”也一同拷贝。字符数名2, 也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。
本函数要求字符数组1应有足够的长度,否则不能全部装入所拷贝的字符串。
(3)下面程序段没有编译错误的是扩展阅读:
1.可以只给部分元素赋初值。当{ }中值的个数少于元素个数时,只给前面部分元素赋值。例如:static int a[10]={0,1,2,3,4};表示只给a[0]~a[4]5个元素赋值,而后5个元素自动赋0值。
2.只能给元素逐个赋值,不能给数组整体赋值。例如给十个元素全部赋1值,只能写为:static int a[10]={1,1,1,1,1,1,1,1,1,1};而不能写为:static int a[10]=1。
3.若不给可初始化的数组赋初值,则全部元素均为0值。
4.假如给全部元素赋值,则在数组说明中, 可以不给出数组元素的个数。例如:static int a[5]={1,2,3,4,5};可写为:static int a[]={1,2,3,4,5};动态赋值可以在程序执行过程中,对数组作动态赋值。这时可用循环语句配合scanf函数逐个对数组元素赋值。
网络-数组
Ⅳ 【求助c语言】以下程序段中不能正确赋予字符串(编译时系统会提示错误)的是
B,char s[10];s="abcdefg"; 这个应该是C吧,这个不行;
数组不能直接赋值,除非初始化;
数组名不能直接做左值;
Ⅳ 下面的程序编译没错误,可就是无法显示存储器中的字符串,原因在哪儿
定义一个指针 用指针控制 c要定义为数组 char c 只是一个字符而已 不是输入多个字符
#include
Ⅵ 大学c语言问题
B
能运行, 正常结束
k是个int,k++会溢出到负数,然后k++会把k加到零,从而结束循环
Ⅶ 下面的程序段为什么编译时出现错
第4行的带参宏NEW定义有问题,带参宏的参数列表必须紧跟着宏名,你写的中间有空格,你把空格去掉,改成
#define NEW(struct node *) malloc(sizeof(struct node))
试试~~~
中间细节的地方还没看~~
Ⅷ 为什么我写了段程序编译时没有错误但运行不了,我复制下程序后新建了一个然后粘帖上去就可以运行了这是为
如果使用的是VC6++的话,由于这个软件本身有问题,经常会出现各种各样莫名其妙的错误,如果不是,不看你的程序的话是没法作答的
Ⅸ 请写出下面的程序片段是否有错误,如果没有运行结果,如果有,请写出原因。
编译没有错误,可以正常运行,结果是n=0
因为n=n++的执行顺序是
1.先取出n的值放在缓存里面(刚开始是n=0)
2.执行n++(得n=1)
3.把缓存里面得n值取出,进行赋值运算,就是n=缓存值(即n=0)
所以一个循环下来n的值还是0,每个循环都一样,最后就是0.如果想得到5,可以把n=n++换成n=n+1
Ⅹ 下面一段代码(c#中关于打开文件对话框),编译时没有错误,可是执行时发生如图显示的错误,求大神指点!
改成这样:richTextBox1.LoadFile(FileName, RichTextBoxStreamType.UnicodePlainText);
首先你要熟悉richTextBox1.LoadFile可以载入的文件格式
如果是txt格式 你要unicode编码保存才能打开,不然就会报错