【发布时间】:2015-12-28 16:35:02
【问题描述】:
我无法在 c 中使一个数组等于另一个数组。 在 main 方法中,它不会让我将 inputInt1 分配给 converTwosComp 的返回值。
#include <stdio.h>
#include <stdlib.h>
int validChecker(char *input_StringIn);
int* convertTwosComp(char *inputStringIn, int *inputIntIn);
int main(void) {
char inputString1[11];
char inputString2[11];
int inputInt1[11];
int inputInt2[11];
printf(" is ");
inputInt1 = convertTwosComp(inputString1, inputInt1);
for(i = 0; inputString1[i]; i++){
printf("%d", inputInt1[i]);
}
int * convertTwosComp(char *inputStringIn, int *inputIntIn){
int digit;
int i;
if((inputStringIn[0] == '+') ||(inputStringIn[0]) == '0'){
inputStringIn[0] = 0;
}
if(inputStringIn[0] == '-'){
inputStringIn[0] = 1;
}
for(i = 0; inputStringIn[i]; i++){
digit = inputStringIn[i] - '0';
inputStringIn[i] = digit;
}
for(i = 0; inputIntIn[i]; i++){
if(inputIntIn[i] == 0){
inputIntIn[i] = 1;
}
if(inputIntIn[i] == 1){
inputIntIn[i] = 0;
}
}
return inputIntIn;
}
在 main 方法中,它不会让我将 inputInt1 分配给 converTwosComp 的返回值。
【问题讨论】:
-
char inputString1[11]; vs int* convertTwosComp(char *inputStringIn, int *inputIntIn); 你看出区别了吗?跨度>
-
老实说我有点迷茫,但我想你是说我返回的是一个指针而不是一个数组......也许?
-
void *memcpy(void *dest, const void *src, size_t count); -
@WeatherVane 你可以详细说明一下我不熟悉那个功能。
-
msdn.microsoft.com/en-us/library/dswaw1wk.aspx 在这种情况下,
count是要复制的 字节数,与指针运算中使用的数据大小无关。
标签: c arrays variables variable-assignment