所以我很好奇。我有兩個功能,無論是工作,我希望他們的方式,有如下幾點:在不同的功能中使用相同的參數
//this function returns the absolute value of a number
int abs(int y) {
if (y < 0) {
return -1 * y;
}
return y;
}
//gives a random number, multiplied by x, in the range 1-y
int randomNum(int x, int y) {
srand((int)time(0));
return abs(x * rand() % y) + 1;
}
他們都工作,所以它們的功能是沒有問題的。但是如果你會注意到,它們都使用一個名爲「int y」的參數。
我的問題是,儘管這兩個函數起作用,這種不好的做法可能會讓我在更復雜的程序中使用它嗎?或者這不重要,因爲這些變量對於它們各自的功能是本地的?
我的意思是,如果我將其中一個「int y」參數更改爲其他內容,我只是好奇而已,完全沒有什麼大不了的。
你知道一個變量的範圍是什麼? – lU5er
在C++程序中出現的每個名稱僅在稱爲其作用域的源代碼的一些可能不連續的部分中有效。http://en.cppreference.com/w/cpp/language/scope – 2017-05-14 15:54:02
Offtopic:你應該只在程序中調用'srand',而不是在每個函數調用中調用。 – mch