我想對C中數組的值應用算術運算。例如,如果我想爲數組的每個值添加一個數字x,我應該將它分別添加到每個數組中值,或者,而不是我可以將x添加到整個數組(所以它會自動將它添加到數組的每個值)。對數組中的算術運算C
回答
,如果我想添加一個數字x到陣列中的每個值,我應該單獨把它添加到每個值
是的,你需要做的是在一個循環。 C不提供一次操作整個數組的操作符。
可以予添加x到整個陣列
,看起來像添加到int
陣列的表達,例如array+x
會編譯,但它是完全不同的操作:當在算術運算中使用數組名稱時,它被看作是指向數組的初始元素的指針,所以array+x
表達式的結果與&array[x]
(指向指數爲x
的array
的元素的指針)。對數組應用+=
不會編譯。
「向數組中添加一個int將被編譯,但它完全是一個不同的操作。」什麼? – 2014-11-21 13:43:02
Switch正在詢問'+ =','+'與現在的問題不符。 – Deduplicator 2014-11-21 13:44:49
@JensGustedt我的編輯解釋了我的意思嗎? – dasblinkenlight 2014-11-21 13:53:25
你必須像在每種語言中一樣運行整個陣列。
有些語言確實支持這一點。 Matlab例如。 – Martze 2014-11-21 13:45:20
是的,在很多語言中,你有一個地圖功能或類似的東西,但木材下面發生的事情是通過整個陣列的循環。 – soueuls 2014-11-21 13:46:28
那麼,黑盒子包含魔法,但它的工作原理。 (細節不感興趣。) – Deduplicator 2014-11-21 13:50:43
使函數循環遍歷數組,並將您的操作應用於數組中包含的每個值。有沒有「的buildin」功能,會替你用C
下面是一個簡單的函數,將處理是:
void Add(int* toIncrement, int size, int increaseBy){
for(int i = 0; i < size; ++i){
toIncrement[i] += increasedBy;
}
}
您可以使用它像這樣:
int thirteens[10] = {0};
Add(thirteens, 10, 13);
請注意,如果您想在本地編寫Add
,則可以這樣做,並避免引發大量變量。
此外,如果你想乘法或什麼的,只需複製功能,更改函數名稱,並使用*=
代替+=
。
在陣列中的每個元素的任何修改都在做C.這樣
在這裏有一個簡單的例子,可以幫助理解操作的概念在陣列 /* 上陣列 基本數學*/
void setup()
{
Serial.begin(9600);
int vector[] = {2, 4, 8, 3, 6};
int i;
for (i = 0; i < 5; i = i + 1)
{
vector[i] = vector[i]*3;
Serial.println(vector[i]);
}
}
void loop()
{
}
- 1. C#中的算術運算
- 2. 不能對數組值進行算術運算c#
- 3. Array對數組的算術
- 4. 在C++中的算術運算
- 5. 算術運算
- 6. 算術運算
- 7. 算術運算
- 8. 算術運算
- 9. 算術運算
- 10. IndexedDB中的算術運算
- 11. XSLT中的算術運算
- 12. 用算術運算符對數組進行排序數組運算符與比較運算符
- 13. 計數算術運算
- 14. 如何對C++中的字符串應用算術運算?
- 15. 對矢量的算術運算
- 16. 日期對象的Esper算術運算
- 17. 對R因子的算術運算
- 18. CSH算術運算
- 19. BCD算術運算
- 20. 算術運算符
- 21. C++數組運算
- 22. 字符串數組中的Javascript算術運算符
- 23. 算術運算時間用C
- 24. 如果運算符爲C++算術
- 25. C++算術運算符錯誤
- 26. C編程!算術運算符操作
- 27. 沒有新的返回對象的C++算術運算符
- 28. 執行算術運算對於空
- 29. 對list :: iterator進行算術運算?
- 30. Typescript:對算術運算進行編碼
試試吧。如果有任何問題,請帶上。 – 2014-11-21 13:41:29
您必須爲每個元素添加數字x。 – bitcell 2014-11-21 13:42:05