1樓:匿名使用者
主函式中沒有為p分配空間。
修改方法有二:
其一:用malloc函式為其分配空間。
其二:此題目無需將p定義為指標變數 ,直接用struct date型別即可。
第一種方法:
首先包含標頭檔案,然後將主函式改為如下形式:
main()
free(p);
將主函式修改為如下形式:
main()
2樓:匿名使用者
main()
struct date *p;
p=null;
這裡錯了,你的指標是空指標,卻直接賦值顯然是錯誤的,可以使用。
p=new date;
或者c中的malloc為其分配空間就沒問題,具體演算法沒仔細看,自己確認下。
3樓:晏力軍
你的while迴圈部分有問題。
自己看看!!
c語言程式問題? 40
4樓:聽不清啊
從**本身以及執行的情況來看,可執行程式的內容,與所貼的**不相符(可能是修改了**後沒有重新編譯,就執行了修改前的**,不然也不會**現在有錯誤就能編譯通過的,例如第2行的末尾多了「op」,「現有1人捐款」也沒有輸出),修改建議如圖:
5樓:匿名使用者
**截圖呢,沒截圖看個鬼哦,只能猜測你輸出語句用錯了。
c語言程式問題? 20
6樓:紫薇參星
出現sqrt函式的錯誤,是因為sqrt函式的引數要求是double,float或者long double型,而你給的是乙個int型的引數,所以導致引數型別不匹配,把變數area和s定義為double型,這樣sqrt函式的引數是double型的,就不會出錯了。
完整的求三角形面積的c語言程式如下(改動的地方見註釋)
注意輸入的三邊的整數值之間用逗號分隔。
#include
#include
int main()
int a,b,c;
double area,s;//這裡把area和s定義為double型。
printf("請輸入a,b,c的值");
scanf("%d,%d,%d",&a,&b,&c);
s=(a+b+c)/;這裡把2改為型)
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形的面積為%lf",area);/這裡輸出格式符"%d"改成"%lf"
有沒有c語言大神,給我講講這個程式怎麼執行?一步步詳細分析一下,拜託了 哈哈,你剛學c吧 等你學過作業系統就知道函式 包括main函式 裡不能定義太大的陣列的,所以那個int bin 100000000 要放在main函式的外面,定義成乙個全域性陣列。另外上面那位老兄說的也不錯,不知道你的編譯器是按什麼編譯選項編譯的,如果很嚴格的話是不允許在for迴圈中定義變數,必須在... include class complex void display private double real,imag complex complex complex complex double r void complex int main ok大功告成 好累 幫你指正一下吧,你在把2.5和c1... 你term沒初值,c語言預設是0,也就是說,你的term term 2,始終得到的term還是0 sum也是0,因此結果始終是0 你在long sum 0語句前面加上一句 term 1 結果就對了 因為 return 0 所以就 我不認為上面輸出結果為0 你要求的是2 1 2 2 2 3 2 16。...C語言問題,幫忙看一下,謝謝
幫忙看一下這個c 程序,幫忙看一下這個c 程式
c語言 幫我看一下這個程式為什麼結果總是輸出