1樓:
樓主你好。
#include
int main()
;printf("修改前,陣列元素的值:");
//**段1
print_array(a, 5);
printf("修改後,陣列元素的值:");
//**段2
change_values(a, 5, 3);
print_array(a, 5);
return 0;
}//函式功能:修改一位陣列元素的值,規則是:新值=原值*k//引數:
p是指標變數,存放一位陣列首地址,n是元素的個數,k是乘數void change_values(int *p,int n,int k)
}//函式功能:輸出一位陣列元素的值
void print_array(int *p,int n) //引數:p是指標變數,存放一位陣列首地址
printf("\n");
}輸出:
修改前,陣列元素的值:10 15 20 25 30修改後,陣列元素的值:30 45 60 75 90press any key to continue
2樓:匿名使用者
你的k到底是幾啊、?以8為例
**1change_values(a,5,8);
**2print_array(a,5);
**3int i;
for(i=0;i *(a+i)=*(a+i)*k; **4int j; for(j=0;j printf("%d ",*(a+i)); 好久沒動c了。不知道有沒有錯誤。臨時這臺機器上沒裝編譯器,試試吧 3樓:于于祥祥 這。。。。。。。 自己寫撒真心的 4樓:微微賺 這麼給你解釋吧,指標就相當是一個門牌號。第一個呢,是因為f()函式的引數是指標,就是「門牌號」,所以他們交換的時候是把門牌號進行了交換。所以當你第二次進行訪問的時候,原來a房間變成了b房間,所以當你想要讓a房間裡的人出來的時候,這個時候原來住在裡面的b君就出來了。 所以發生了交換。 第二個呢,傳的是形參,形參就是把a君複製一個(我們理解為克隆一個a君),然後克隆一個b君,最後把克隆人交換。然後我們輸出的時候,我們卻要a房間裡的人,那個時候,a君還在自己的房間,當然他們出來的時候,就是沒有交換了。如果,要交換,我們可以輸出克隆人。 那麼看到的結果就是已經發生了交換。 我把第二個**,給你稍微改下,就是輸出克隆人,那麼你就會看到,我們原來交換的只是克隆人了。 **********== 第二個#include void main() void f(int x,int y) 輸入5,9 輸出9,5 **********= 有不明白的繼續追問! c語言這個f函式再指標 5樓:兄弟連教育北京總校 c語言中, 函式 名也稱為函式的指標,所以c語言中函式名就是一 個指標。 1,例如: showmenu是一個函式名,可以看到他的值是一個地址。 &showmenu是對函式取地址,指向和showmenu同樣的地址。 可以看出,showmenu是佔用一個位元組的,而作為指標&showmenu卻佔用四個位元組。 所以,函式名佔用空間的。 2,函式指標 指向函式的指標包含了函式的地址,可以通過它來呼叫函式。宣告格式如下: 型別說明符 (*函式名)(引數) 其實這裡不能稱為函式名,應該叫做指標的變數名。這個特殊的指標指向一個返回整型值的函式。指標的宣告筆削和它指向函式的宣告保持一致。 指標名和指標運算子外面的括號改變了預設的運算子優先順序。如果沒有圓括號,就變成了一個返回整型指標的函式的原型宣告。 例如:void (*fptr)(); 把函式的地址賦值給函式指標,可以採用下面兩種形式: 取地址運算子&不是必需的,因為單單一個函式識別符號就標號表示了它的地址,如果是函式呼叫,還必須包含一個圓括號括起來的參數列。可以採用如下兩種方式來通過指標呼叫函式: x=(*fptr)(); x=fptr(); 第二種格式看上去和函式呼叫無異。但是有些程式設計師傾向於使用第一種格式,因為它明確指出是通過指標而非函式名來呼叫函式的。下面舉一個例子: void (*funcp)(); void filefunc(),editfunc(); main() void filefunc() void editfunc() 程式輸出為: filefunc editfunc 6樓: 28) f的呼叫並不會改變abc的值,所以還是原值4,3,5 選d 29)q為null,不能取內容,所以*q=0是錯誤的,選a 關於c語言 指標,函式呼叫的問題 關於c語言指標函式的使用問題 7樓:莊政警 你的**裡犯了c語言裡的一個很常見的錯誤:函式返回了一個區域性變數地址int *add(int a, int b)int* p = add(a, b); //p指向的記憶體隨時可能被改寫,你看到的正好就是輸出完以後它就變了,(因為add函式從執行完到輸出間隔的時間"很短",3還存在,而從程式暫停到你觀察這段時間"很長",記憶體已經被修改了,你可以再輸出一次*p看看) 你把c定義成靜態的,再看看 int *add(int a, int b) c語言初學 有關函式和指標的一個問題? 8樓:最大的_大寶寶 function是一個函式。f1是一個函式指標,用於呼叫function。題目寫得有點複雜,簡化一下是這樣的,兩種呼叫方式都可以: 9樓:瀋陽_小凡 (*f1)就是function的函式。而且s是常量的指標,是不可以傳給變數指標的。 c語言指標呼叫函式問題,急求解釋(本題是《c和指標》上的題目) 應該是的,還可以用f a i 的形式。去程式設計嗎?我學這些的是一頭霧水。c語言中指標怎麼使用?1 使用場景 使用指標時,必須將它指向一個變數的地址或者為它分配 空間方能使用,如下所示 include include int main int argc,char const argv int b,d... 首先第一點,非常重要的一點 指標和陣列是不同的兩個型別!我們從可以從c語言標準文件中得知 iso iec 9899 1999 programing language c 6.2.5 types 20 這說明了什麼是陣列型別 同樣在20 說明了什麼是指標型別。在瞭解了兩種型別的基礎上,我們瞭解陣列和指... 應該浮點型整型數點面資料丟失造精度準確程式實參a,b,c都整型所warning資料精度丟失 樓下的說的都對,那我給你提供一個另外的方法的,直接不使用math標頭檔案裡的函式,利用其原理自己編寫一個可以隨意改變型別的函式。這是int的。include int pow int x,int y void ...C語言指標函式,c語言中指標怎麼使用?
c語言符指標和字元陣列的區別c語言字元指標和字元陣列的區別
c語言pow 函式問題,C語言pow 函式問題。