下面程序段沒有編譯錯誤的是
#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編碼保存才能打開,不然就會報錯