如何在c中使用另一个变量定义一个变量?

How to define one variable using another one in c?

如何使用另一个变量定义变量 variable.Actually 我想要一个完整的字符串,但该字符串应该包含来自另一个变量的数据。

#include <stdio.h>
char *Data1 = "23";
char *Data2 = "267";
char *Data = ("www.mywebsite.com?c=%s&v=%s", Data1, Data2);

int main() {
  printf(Data);
  return 0;
}

您可以定义一个数组并利用 sprintf()/snprintf() 生成最终字符串。

类似

char final[128] = {0};   //128 is arbitrary value

int data1 = 23;    //no need to be string for integer value
int data2 = 267;

snprintf(final, 128, "www.mywebsite.com?c=%d&v=%d", data1, data2);

也就是说,printf(Data);是非常无效的。你要么

  • 使用正确的格式说明符,例如 printf("%s", final);
  • 使用puts(final);

您可以使用snprintf

首先定义一个MAX_LEN和一个buffer

#define MAX_LEN 1000
char Data[MAX_LEN + 1] = "";

然后使用snprintf填写所有字符串:

snprintf( Data, sizeof(Data), "www.mywebsite.com?c=%s&v=%s", Data1, Data2);