我可以在 C 中将数字常量与字符串连接起来吗?

标签 c string

<分区>

我有一个非常简单的程序,预计从用户那里获取 X 个字符并将它们打印回来:

#include <stdio.h>
#define MAX_INPUT_LENGTH 8
#define HOME 1

int main()
{
    char vstup[MAX_INPUT_LENGTH];

    printf("Write something. But no more than "MAX_INPUT_LENGTH" characters.\n");
    scanf("%"MAX_INPUT_LENGTH"s", vstup);
    printf(vstup);


    system("pause");
    return 0;
}

当然,我对 "blah"CONSTANT"blah" 的尝试不起作用。但是应该有办法去做,不是吗?我以为常量大多只是替换了程序中的一段文本,只有一些基本逻辑。

最佳答案

这对我有用。

#include <stdio.h>

#define STR2(a) #a
#define STR(a) STR2(a)

#define MAX_INPUT_LENGTH 8

int main()
{
   char vstup[MAX_INPUT_LENGTH+1];

   printf("Write something. But no more than " STR(MAX_INPUT_LENGTH) " characters.\n");
   scanf("%" STR(MAX_INPUT_LENGTH) "s", vstup);
   printf("%s\n", vstup);

   return 0;
}

关于我可以在 C 中将数字常量与字符串连接起来吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23251105/

相关文章:

c++ - 如何以编程方式(在 C/C++ 中)模拟 DOS 中的击键?

c++ - 二维字符数组到 CUDA 内核

c++ - C++ 中 char* 类型的变量

Python 数据框 : Remove duplicate words in the same cell within a column in Python

java - 如何优雅地处理错误输入(JAVA)

将字符串从一个指针复制到另一个指针

CURL -d 等效于 C

c - 在 void 函数中操作结构

python - 匹配列中的值并返回 pandas | 中的另一列Python

c# - 如何将 String 转换为 Int?