如何使用令牌合并 ## 运算符合并数组元素??.



我想合并 3、7、1 得到 371。我想知道如何合并它???

#include <stdio.h>
int main(void) 
{
int a[] ={3, 7, 1};
return(0);
} 
我认为不是

"合并",而是要将数组转换为整数值,就像我们在 Java 变体中看到的连接操作一样。您可以通过迭代数组轻松实现这一点:

#include <stdio.h>
int joinArray(int a[], int N) {
  int i, res = 0;
  for(i = 0; i < N; i++) 
    res = res*10 + a[i];
  return res; 
}
int main() {
  int a[] = {3, 7, 1};
  printf("merged res : %dn", joinArray(a, 3));
  return 0;
}

你可以尝试这样的事情;

#include <stdio.h>
int main(void) 
{
    int a[] ={3, 7, 1};
    int i, result = 0;
    for(i=0;i<sizeof(a)/sizeof(a[0]);i++)
        result += a[i] * pow(10, sizeof(a)/sizeof(a[0])-i-1);
    printf("result %dn", result);
    return(0);
} 

最新更新