这个问题已经有了答案:
Concatenate int to string using C Preprocessor
3答
我有一个非常简单的程序,它需要从用户那里取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;
}