1樓:希聲和寡
#include
#include
void convert(char *p);
void cat(char *p1,char *p2);
int main()
else
return 0;
}void convert(char *s)*(s+i)='\0';
}void cat(char *s1,char *s2)
2樓:呼的骨
convert(*p1);
cat(*p1,*p2);
這兩個函式應該傳入指標啊
convert(p1);
cat(p1,p2);
還有void cat(char *s1,char *s2)
3樓:
1.void convert(char *p);
宣告的是傳遞個指標形參,
convert(*p1);
而在這裡你傳遞的是指標指向的乙個值。
同理,幾個傳遞的實參都是這種問題。
2.最後乙個函式中 return s1;
你定義的是void 返回型別,是不能返回s1的。
你可以改為 char* 。就可以了。
請問下面的c語言**出錯了,有點急,請各位大神能夠迅速解答,會加分的!!!!!!! 10
4樓:瀚漠
create函式在:return head; 的前面少乙個右括號:} ,
else }}
}return head;
加上就沒有錯誤了
c語言檢查錯誤!要講明白那裡錯了,還有因為什麼原理錯了!(高分)
5樓:匿名使用者
修改好的程式:
#include
#include
void main()
count[ grade[i] ] ++;
}printf("\ngrade count histogram\n");
for(i=1;i<6;i++)
主要問題: count沒有初始化
for( j=1; j<6; j++ ) count[j] = 0;
(一般會用陣列的0-4)
同時判斷分數是否有效,不需要乙個迴圈,直接判斷是否在1-5之內就行了,不在,讓使用者重輸,
在的話,直接 count[ grade[j] ] ++;
c語言問題,好的加分!
6樓:真小凡
1.這個要看你怎麼解釋了……如果是字串"\x5d",那就是佔4位元組(相當於你用解釋表示為"\\x5d"),如果是解釋成乙個16進製制字元表示,那2位16進製制剛好是1個位元組
2.整形和字元型一起輸入時中間不能連有空格,因為空格也是字元,所以答案應該是a
3.t++屬於先用後加。如果單純的printf這個表示式的值,輸出的是1。然後再printf t的值,輸出是t++後的值,是2。t+5並沒有儲存在t的變數裡,t的值不變。
4.x&1表示如果x是奇數,則值為1,是偶數則值為0,所以從左到右的順序,則可以判斷結果必然是1.0.1.0
5.(int) x = 4,(int ) y = 2,x%y = 0; x+y仍然為double型(x+y)/2 = 3.50000 再加0 自然還是3.5
6.如果程式你沒有寫錯的話,我按照你寫的運算一下,結果就是&d, n =3 , k = 1;
因為在case 0 後你沒有寫break,所以i = 5 ,i/6 = 0 符合第一種情況,找到開始的位置,一直往下執行,會無視case 2的條件,直到遇見break才會停止,繼續進行下一次的迴圈。
然後如果是你寫的程式有錯誤,我覺得錯誤可能如下
printf("&d,%d,%d\n",m,n,k);取位址d沒什麼意義吧,會按照&d輸出的
應該是printf("%d,%d,%d\n",m,n,k);%是佔位符,m的值來代替
然後就是在case 0後面的n++;寫break;
這樣最後的結果就是m = 1; n = 3; k = 1;
回答完畢
7樓:
1.樓上第一題應該錯了,應該是2個位元組,轉義字元\x5d是乙個位元組,但是「」的字串本身是有\0作為結束的,因此是兩個位元組。(如果寫成'\x5d'的形式的話因為是乙個字元而不是字串,則應是乙個位元組)
2.b3.樓上應該也錯了,逗號表示式從右往左結合,t的值應為最左邊的值,即1.000000。(經過測試)。
4.vs2008測試:1,0,1,0,具體解釋不是很清楚。
5.樓上錯誤,應該是3.5(測試過),(4.5+2.5)/2+4%2=3.5+0=3.5.
6.&d,1,3
8樓:杜撰的人
1 轉義字元 1位元組
2 b3 6.000000
4 1 0 1 0
5 4.00000
6 &d,1,3
c語言程式改錯 高手來 回答好了有加分哦
9樓:匿名使用者
錯了3個地方:
#include
main()
那個出錯資訊就是scanf將你傳入的p[i]的值當做位址去訪問了,所以出錯
10樓:飄風弓手
請問樓主是怎麼輸入的?是像1,2,3,4……這樣輸入的嗎?如果是的話我就知道錯在**?是的話我在追問裡回答你
還有scanf("%d",p[i]);
也錯了,改成scanf("%d",(p+i));
11樓:勇敢的心
main()那一行應該改為
int main()
其他的沒錯
至於你的**可能是你系統有問題 建議你把你的程式設計軟體解除安裝了重新安裝
12樓:匿名使用者
#include
main()
我想建立乙個程式用來輸入0到9以內的質數,但是此程式寫出來以後 連線,編譯都沒有問題,但是當執行的時候,卻出現了這樣的顯示(如圖)
請高手幫忙回答一下:
1.該程式**錯了,請將詳細一點
2.圖一的出錯資訊什麼意思?
以上問題都請盡量詳細,有更詳細的資料的話麻煩把**引用一下 謝謝回答好了有加分哦
c語言實現這個,為啥我提交老是答案錯誤 ??**有問題呢
13樓:
你定義sinf()等函式了嗎?庫函式沒有f,就是sin()!要包含math.h。
14樓:匿名使用者
你看一下是不是跟格式有關?輸出一行後要換行之類的
15樓:宿雨厭厭
我知道了,printf把y =去掉,直接輸出資料
16樓:匿名使用者
定義x、y的時候
抄,輸入的x是float單精度,作bai比較的時du
候,是將x與整zhi數0、40進行比較,於是發生錯誤。可dao以將float x 改為 int x 就沒問題了。也可以在要比較的0 和 40 這些數後面加個.0(點零)。
c語言又有問題了。(抱歉沒寫註釋,但是我會多加分的!)
17樓:匿名使用者
3全部#include
#include
int main()
return 0;}
C語言的問題,這道題為啥選b,C語言這道題為什麼選a?
這個問題考得太細了。c11標準或msdn對這個函式,均提到fgets從當前流位置起,至多從檔案讀取n 1個字元到陣列s。不會讀取換行符或檔案結束符之後的字元,但如讀取到換行符,換行符也會讀取到陣列s中。fgets在接收到eof或 0會結束讀取。c語言這道題為什麼選a?1 整型常數,預設是int型別。...
C語言程式出錯,C語言程式沒有錯,但為什麼總顯示乙個錯誤
這個 需要重寫。比如函式putin2中,宣告的a是char型字元,後面scanf中卻要讓它接收乙個姓名字串,這樣的錯誤說明 構思很混亂,不是略改一下就能解決的 putin2函式中 char a 應該為乙個字串改為char a 100 字串a應該與運動員名字比較,也就是a與結構體的name2欄位比較。...
C語言程式沒有錯,但為什麼總顯示錯誤
嗯,是沒有問題的。那麼vc可能出問題了。試試重新編譯一下或是重啟一下可能會有解決。看不清,發 出來幫你看看 c語言程式老是顯示錯誤但是沒有錯是什麼原因 5 從 上看沒有問題。如果你是新安裝的編譯器,那麼有可能是編譯器配置問題。error spawning cl.exe 也有可能是你工程中加了不止乙個...