【发布时间】:2018-12-24 14:17:27
【问题描述】:
根据这段代码:
int main(){
int x=1;
int y=2;
printf(" %s + %s = %s ", function(x) , function(y), function(x+y));
}
char* function(int num){
static char B[20];
sprintf(B,"%d",num);
return B;
}
我得到的答案是:1 + 1 = 1
问题是为什么?
如果我像这样分隔行:
int main(){
int x=1;
int y=2;
printf("%s +" function(x));
printf(" %s =" function(y));
printf(" %s"function(x+y));
}
如我所料,我得到了正确答案???
【问题讨论】:
-
因为只有一个数组
标签: c