1樓:匿名使用者
記憶體不能為written就是說,你往不該寫的地方寫了東西,很明顯char *s3沒有分配空間,這是指標運用的常見錯誤,#include ""
#include ""
main()
這樣就ok了,嘻嘻~~~我也不知道為什麼要這樣。。。
2樓:匿名使用者
s3沒有分配記憶體。
都是胡說八道。
s3=null;
3樓:__________鄭晟
「char *s1="12345",*s2="1234",*s3;」這裡s1和s2的定義與「s3=strcpy(s1,s2);」中的「strcpy」中的引數型別不一致。
該程式中s1和s2是指標,而strcpy的引數要求是字元型陣列。
將「char *s1="12345",*s2="1234",*s3;」改成「char s1[10]="12345",s2[10]="1234",*s3;」即可。
c語言程式設計問題 5
4樓:有柴公尺呀呀呀呀
提問怎麼改。
把replace函式提到main函式外面。
提到main函式的前面。
或者在main前面寫乙個replace函式宣告宣告報告裡面呢,還寫了呼叫時的型別是衝突的。
c語言程式問題? 20
5樓:紫薇參星
出現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語言程式問題? 40
6樓:聽不清啊
從**本身以及執行的情況來看,可執行程式的內容,與所貼的**不相符(可能是修改了**後沒有重新編譯,就執行了修改前的**,不然也不會**現在有錯誤就能編譯通過的,例如第2行的末尾多了「op」,「現有1人捐款」也沒有輸出),修改建議如圖:
7樓:匿名使用者
**截圖呢,沒截圖看個鬼哦,只能猜測你輸出語句用錯了。
c語言程式設計問題
c語言程式設計問題
8樓:貳彤雲憑懌
我解釋下遞迴函式吧:f(6)中有f(6/2)即f(3)和printf函式,但要等f(3)執行完後才執行printf函式(輸出6),f(3)中有f(3/2)即f(1)和printf函式,但要等f(1)執行完後才執行printf函式(輸出3)
9樓:粘代卉普煦
這是個遞迴問題,fun()函式在函式體內部又呼叫了自己。
具體解法可以這樣理解:
1、執行if(x/2>0)
2、若結果為真,執行fun(x/2);,後面那句printf("%d",x);暫時不執行。
3、當執行完fun(x/2)[裡面可能還包含了fun()這樣的呼叫],再執行第2步中未執行的printf("%d",x);
舉例:fun(6);
1、執行if(6/2>0)
2、由於6/2=3,所以,執行fun(6/2),即fun(3),這時,printf("%d",x=6)這句暫時不執行,等fun(3)執行完了再執行。
3、執行fun(3),這又是乙個fun()函式,所以,仍然先判斷if(3/2>0),4、顯然,3/2=1,大於0,這時,先執行fun(1/2),printf("%d",x=3)暫不執行,等fun(1/2)執行完了再執行。
5、1/2=0,所以,不符合要求,執行printf("%d",x=1);
6、這時,fun(1/2)便執行完了,接著,需要執行剛才未執行的printf("%d",x=3)
7、printf("%d",x=3)也執行完了,需要執行剛才未執行的printf("%d",x=6)
最後,得到的結果就是136
對於main0
這個是乙個判斷條件的問題。關鍵是要看這幾個符號的結合順序。
00(x<20),左邊是真,右邊是假,&&要兩邊是真,結果才是真,所以,這個表示式的結果是假,即0
c語言程式設計問題? 5
10樓:自我程式設計
1、輸入有範圍,兩個變數輸入都需要驗證,方法變數處置範圍以外,迴圈判斷輸入。
2、天數迴圈計數,日期0~6週期自增。用變數累加計數結果。
下面是演示**:
printf("請輸入a的值(0~6):"scanf("%d",&a);
while(n<0 ||n>365)
printf("請輸入n的值(0~365):"scanf("%d",&n);
for(i=0,j=a;iif(j==4) cnt++;
if(j==6) j=-1;
printf("上機次數%d次",cnt);
return 0;
11樓:嘉嘉設計師
你好,是什麼問題呢?
提問>
怎麼改。你是在後面宣告了乙個replace函式。在前面應用了。
把replace函式提到main函式外面。
提到main函式的前面。
或者在main前面寫乙個replace函式宣告宣告。
報告裡面呢,還寫了呼叫時的型別是衝突的。
12樓:小
這個程式不就是列印從11開始的第5個素數嗎?
c程式問題
13樓:
第4題是c、
第12題是 c、迴圈執行一次 (x不等於0的話,那麼!x就為假)
其他正確。
14樓:匿名使用者
cbbcc cdcad dac
2.實數包含整數。
= n++;自加分前加和後加,最好不是要賦值時體現出前加和後加的區別,k = n++是先把n賦給了k然後n再自加。
15樓:匿名使用者
我人答案是:cdacc cdcad dcc第4題:3/2=1,y=1+1=2。沒錯!但y是double型,結果一定是有小數點的,所以選c。
第12題:先不管其它的,首先執行一次do,然後x的值是1,while判斷!x,因為!x是0,假的,迴圈結束,所以只執行了一次。
最後我能問乙個問題麼,第七題中那z=(x%y,x/y)是什麼意思,怎麼算呀?
16樓:易公山東
cdacc cdcad dcc(第四題,和第十二題)你可以這樣驗證下:
int x=-1,i=0; do while(!x);
printf("%d",i);
17樓:多榮及和風
這個不算病毒。根本沒有傳染性。
c語言程式問題? 50
18樓:匿名使用者
輸出7的奇數倍 7 21 35 ..
5的偶數倍 顯然是 10 20 30...程式:
c語言程式結果問題,c語言程式設計問題
你的if i 65 應該是if i 65 吧,執行結果是。40 div 20 60 div 20 65,end,while i 65 的優先順序高,i變為21,然後接下來就是正常的迴圈判斷了,順序執行兩個if語句,也就是不管i的值是什麼,每次迴圈都要做兩次判斷是否符合兩個if語句的條件,符合就執行i...
C程式問題,c語言程式設計問題
把頭檔案改下,再把輸入輸出改下就可以了,不好意思我用手機給你會答的改起來很麻煩。cin改成csanf,cout改成printf,具體怎樣你按相關寫法改就行了。c語言程式設計問題 5 提問怎麼改。把replace函式提到main函式外面。提到main函式的前面。或者在main前面寫乙個replace函...
c語言程式設計問題,C語言程式設計問題
include void main else if b 由於b 1,所以 b的值為false,所以不進入else if b else printf d d d 由於d的值沒有改變,輸入初始值d 20 include main include main else if b 此時b 1,b 0為假els...
C語言簡單程式設計問題,C語言程式設計問題
接收字串要用gets c 不然只要接收到空格就停止了顯示字串長度可以用printf 5d strlen c 在前面包含 顯示字串要用puts c 函式 for迴圈的範圍沒有包括下面if c i a c i a include include define f 99 void main printf ...
C 簡單的程式設計問題,c語言程式設計問題
第乙個,傳遞進來的引數是乙個 char 型別,比如如果是字元 1 則轉換為整數型就是 49 也就是 1 的ascii編碼。0 的ascii是48 所以如果用 int c int 0 減出來以後就是整數 1 也就是把字元轉換為整數了,實際c 有個函式 atoi 推薦使用這個方法,第二個要拆開看 isd...