1樓:匿名使用者
1. for(i=0,j=i+1;i<9;)else
} 如果p[0]最小,那麼都只執行if複合語句,結果i不變,j遞增,迴圈……
for迴圈修改為:
for(i=0,j=i+1;i<9, j<10;)2.for(i=0,j=i+1;i<9;)else
} 同1,如果p[0]最大…版…同樣權
修改下for
3.for(p=a;p<(p+10);p++)cout<<*p<<" ";
在最後的輸出中,你看看你的條件設為什麼了。
p < p+10
這條件在記憶體檢測完之前永久成立,檢測完幾乎是不可能的,現在記憶體都以g為單位!
修改for迴圈為:
for(p=a;p<(a+10);p++)解決問題。
另外,這段**的功能似乎成了:
輸入10個數字,將其中最小及最大的數修改為第一個數。。。
強大!~~~
2樓:塵封夢想
這個很奇怪啊
怎麼在main裡定義函式 這不像是c++的語法int main()
{ void sr();
void wcg(int *p);
void sc(int *p);
3樓:匿名使用者
宣告貌似也應該在外面的吧。
再問問,你的程式要幹什麼?
這個c程式編譯顯示沒有錯誤,為什麼不能執行?
4樓:育知同創教育
引數復必須制是指標(地址
bai)才可du以zhi。 scanf()函式要求參
數必須是指標類dao型,即將地址傳輸到其內,才可以讓a , b變數中獲取到資料。 如果你學過指標,你就會理解了。 c語言中函式的呼叫中,引數傳遞,只能傳遞數值。
如果只是將數值傳遞過去(接收者是形參),在子函式中變化,形參的變化,不會影響到實引數據的內容。 c中,每定義一個變數,系統都會在記憶體中給其分配一個空間用來儲存資料。而這個空間的編號就是這個變數的地址。
當我們將這個地址傳遞到子函式中,子函式在運算元據時,就會改變這個地址中的資料,這樣,實參的資料是會發生變化。 而你程式中,傳遞的是a b本身的值(可能是0,可能是1,可能是任意的數),scanf()將這兩個值當作地址去操作,因此會產生系統錯誤,導致程式執行停止。
為什麼在編譯c++程式的時候是沒有錯誤的,但是執行的時候就是出不來結果
5樓:吾守護奇蹟
編譯通過只是說明沒有語法錯誤,執行不出結果就是你**邏輯問題了貼**看看吧,自己打斷點除錯一下
while(r=!0)
寫反了吧, r != 0
否則就成死迴圈了。。。
6樓:夢中睡客
可能是你沒有輸出結果吧?
7樓:翼下之風
你可以跟蹤除錯一下就知道了
8樓:百科大全才
沒有編譯錯誤, 有邏輯錯誤;
你最好把**貼出來看看;
c程式錯誤,請高手指點,c 程式6個錯誤,請高手指點
if條件要加括號,而且在條件和執行語句之間不要加分號,修改如下 include define max 200 int a max b max cnt 0 void read void void js void for i 0 i void main 你要說說你的這程式解決的是用來做什麼的啊 給你改好...
請高手指點photoshop中什麼是向量智慧物件,如何操作
操作 圖層 智慧 物件 轉化為智慧物件。當你將影象縮小後又想放大 這個回時候如果不是智慧對答象的話,你影象放大了就會失真,變得很模糊。知能物件就解決了影象放大的後失真的問題,無論你怎麼縮放影象,影象都和原來的一樣,不會變得模糊,你可以試試看 注 只能放大到原始影象,如果超過了也會失真的 ps是點陣圖...
c 關於解構函式,我有些不明白,請高手指點
第一,關於析構 樓上二位基本說的沒錯,c c 中,大括號限定了其中變數的生存週期,以你的 為例 1 int main 2 變數one和two在第3行被宣告並初始化 可以比喻成小孩出生了,此時建構函式被呼叫 在第5行的右大括號之前,這兩個變數 活到頭了 此時解構函式被呼叫。換句話說,大括號之間的任何變...