指针与函数

  1. // 指针作为函数参数
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4. void swap(int a, int b){
  5. int t = a;
  6. a = b;
  7. b = t;
  8. }
  9. int main(){
  10. int a, b;
  11. cin >> a >> b;
  12. swap(a, b);
  13. cout << a << ' ' << b << '\n';
  14. return 0;
  15. }
  16. /*
  17. 输入:3 4
  18. 输出:3 4
  19. */
  20. #include <bits/stdc++.h>
  21. using namespace std;
  22. void swap(int *a, int *b){
  23. int t = *a;
  24. *a = *b;
  25. *b = t;
  26. }
  27. int main(){
  28. int a, b;
  29. cin >> a >> b;
  30. swap(&a, &b);
  31. cout << a << ' ' << b << '\n';
  32. return 0;
  33. }
  34. /*
  35. 输入:3 4
  36. 输出:4 3
  37. */
  1. // 函数返回指针
  2. #include <bits/stdc++.h>
  3. using namespace std;
  4. int a[110], n, m;
  5. // int* find() 这样写的效果是一样的
  6. int *find(){
  7. for (int i = 0; i < n; i++)
  8. if (a[i] == m)
  9. return &a[i];
  10. return NULL;
  11. }
  12. int main(){
  13. cin >> n >> m;
  14. for (int i = 0; i < n; i++) cin >> a[i];
  15. int *p = find();
  16. if (p == NULL) printf("cannot find\n");
  17. else printf("%d %d\n", p, *p);
  18. return 0;
  19. }