我对Objective-C比较陌生 我知道它是C的超集。但是当我尝试在GCC中编译这个C代码时,它给了我一个错误,我无法执行代码。
#include <stdio.h>
int main(){
int x;
printf("Input int:\n");
scanf("%d", x);
printf("%d", x);
return 0;
}
当我执行其他代码时,没有错误,但输出错误。 注意:唯一的变化是“int * x”。
#include <stdio.h>
int main(){
int *x;
printf("Input int:\n");
scanf("%d", x);
printf("%d", x);
return 0;
}
INPUT: 3
OUTPUT: 2147307520
答案 0 :(得分:9)
你需要像第一个那样为整数分配空间,但你需要将指针传递给scanf()
,如第二种那样;你需要将整数的地址传递给scanf()
。你应该写:
#include <stdio.h>
int main(void)
{
int x;
printf("Input int:\n");
scanf("%d", &x);
printf("%d\n", x);
return 0;
}
现在正在使用C代码;它也有可能作为目标C运作。最好在打印输出结尾处包含换行符。