我正在尝试更改主函数中 a 和 b 的实际值。但是当我使用 *b++ 来增加 b 的值时。它不工作。
#include<iostream>
using namespace std;
int F(int *b,int *c ){
*b++;
*c++;
}
int main(){
int a=1 , b=2;
cout<<a<<" "<< b<<" ";
F(&a, &b);
cout<<a<<" "<< b;
}
Run Code Online (Sandbox Code Playgroud)
但在第二种情况下,代码工作正常。
#include<iostream>
using namespace std;
int F(int *b,int *c ){
*b = *b+1;
*c = *c+1;
}
int main(){
int a=1 , b=2;
cout<<a<<" "<< b<<" ";
F(&a, &b);
cout<<a<<" "<< b;
}
Run Code Online (Sandbox Code Playgroud)
*b++ 和 *b=*b+1 不一样吗?
我试图从其第一个元素的引用中解析此简单数组。
这是我的代码:
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
vector<int> vec3 { 1,2,3,4,5};
for( vector<int>::iterator ptr = &vec3[0]; ptr != vec3.end(); ++ptr )
{
cout << *ptr << " ";
}
}
Run Code Online (Sandbox Code Playgroud)
但我收到此错误:
[Error] conversion from '__gnu_cxx::__alloc_traits<std::allocator<int> >::value_type* {aka int*}' to non-scalar type 'std::vector<int>::iterator {aka __gnu_cxx::__normal_iterator<int*, std::vector<int> >}' requested
Run Code Online (Sandbox Code Playgroud)
有什么问题?
我正在尝试对泰勒级数进行编码,但是在 n(=100) 的值很大的情况下,我将得到“nan”作为输出。我哪里做错了?
#include<iostream>
#include<cmath>
using namespace std;
int main(){
int n;
double x;
cin >> n;
cin >> x;
long double temp_val = 1;
int sign = 1;
int power = 1;
long long int factorial = 1;
for(int i = 1 ; i < n ; i++){
sign = sign* -1 ;
power = 2*i;
factorial = factorial*(2*i)*(2*i-1);
temp_val += sign*pow(x,power)/factorial;
}
cout<<temp_val;
}
Run Code Online (Sandbox Code Playgroud)