我在 Dart 中有问题交换变量函数
I have problem swap variables function in Dart
我要疯了一切看起来都很好问题在哪里?
void main(){
int num1 = 10;
int num2 = 11;
print("First : $num1, $num2");
swap(num1,num2);
print("Last : $num1, $num2");
}
void swap(int num1,int num2){
int temp;
temp = num1;
num1 = num2;
num2 = temp;
}
我的输出:
第一:10,11
最后:10,11
// Dart 2.6.
void main(){
int num1 = 10;
int num2 = 11;
print("First : $num1, $num2");
// get returned swapped values
List result = swap(num1,num2);
// assign them to original variables
num1 = result[0];
num2 = result[1];
//print the mutated num1 and num2
print("Last : $num1, $num2");
}
List swap(int num1,int num2){
int temp;
temp = num1;
num1 = num2;
num2 = temp;
// print("Last : $num1, $num2");
return [num1, num2];
}
您应该尝试从交换函数中删除交换并将其直接放在主函数中。调用函数时,传递的是对变量值的引用,而不是变量本身。
@Ketan Ramteke 是对的。或者您可以 return 一个列表并像这样使用该值:
void main(){
int num1 = 10;
int num2 = 11;
print("First : $num1, $num2");
List arr = swap(num1,num2);
print("Last : ${arr[0]}, ${arr[1]}");
}
List swap(int num1,int num2){
int temp;
temp = num1;
num1 = num2;
num2 = temp;
return [num1, num2];
}
我要疯了一切看起来都很好问题在哪里?
void main(){
int num1 = 10;
int num2 = 11;
print("First : $num1, $num2");
swap(num1,num2);
print("Last : $num1, $num2");
}
void swap(int num1,int num2){
int temp;
temp = num1;
num1 = num2;
num2 = temp;
}
我的输出: 第一:10,11 最后:10,11
// Dart 2.6.
void main(){
int num1 = 10;
int num2 = 11;
print("First : $num1, $num2");
// get returned swapped values
List result = swap(num1,num2);
// assign them to original variables
num1 = result[0];
num2 = result[1];
//print the mutated num1 and num2
print("Last : $num1, $num2");
}
List swap(int num1,int num2){
int temp;
temp = num1;
num1 = num2;
num2 = temp;
// print("Last : $num1, $num2");
return [num1, num2];
}
您应该尝试从交换函数中删除交换并将其直接放在主函数中。调用函数时,传递的是对变量值的引用,而不是变量本身。
@Ketan Ramteke 是对的。或者您可以 return 一个列表并像这样使用该值:
void main(){
int num1 = 10;
int num2 = 11;
print("First : $num1, $num2");
List arr = swap(num1,num2);
print("Last : ${arr[0]}, ${arr[1]}");
}
List swap(int num1,int num2){
int temp;
temp = num1;
num1 = num2;
num2 = temp;
return [num1, num2];
}