指针测试,子函数用指针造成的影响。

    技术2022-07-11  95

    C 和 C++ 函数调用的参数传递方式有两种:传值和传引用。 传值只是值的传递,被调用函数则无法修改实在参数的值; 传引用则是实参和形参共享实在参数的存储单元,所以被调用函数可以通过修改形参来修改实参的值。

    #include <iostream> using namespace std; void extractNum(char * str); int main() { char s[1024]; cin.getline(s,1024); extractNum(s); cout<<s; return 0; } void extractNum(char * str) { cout<<str<<" "; cout<<*str<<" "; cout<<++str<<" "; cout<<++(*str)<<endl;; }

    结果:

    myman myman m yman z mzman

    传值过去“myman”,str表示整个“myman”。 *str表示第一个所指的。 ++str加地址由m转向后移到y。 而++( *str)把第二个值加一。 所以上面的一切都会改变主函数中的‘s’。 0.0

    Processed: 0.011, SQL: 9