我有三个指针:
int *x,*y, *Temp;
Run Code Online (Sandbox Code Playgroud)
然后我就完成了
x = (int *)malloc(sizeof(int)*m);
y = (int *)malloc(sizeof(int)*n);
Temp = (int *)malloc(sizeof(int)*(m+n));
Run Code Online (Sandbox Code Playgroud)
其中m和n是某些值.
接下来,我在Temp中输入了值.
for(i=0; i < m+n; i++) {
scanf("%d", Temp+i);
}
Run Code Online (Sandbox Code Playgroud)
我想要一半的温度在x,另一半在y.我该怎么做呢?
for(i=0; i < m; i++) {
x[i] = Temp[i];
}
Run Code Online (Sandbox Code Playgroud)
上面复制内容的代码不起作用!
另外,如何打印值?
使用memcpy可能是实现您想要的最简单方法:
memcpy(x, Temp, m * sizeof*Temp);
memcpy(y, &Temp[m], n * sizeof*Temp);
Run Code Online (Sandbox Code Playgroud)
要打印值,只需使用printf:
puts("Values in x:");
for(int i = 0; i < m; ++i) {
printf("%d\n", x[i]);
}
puts("Values in y:");
for(int i = 0; i < n; ++i) {
printf("%d\n", y[i]);
}
Run Code Online (Sandbox Code Playgroud)