【发布时间】:2016-06-03 09:32:10
【问题描述】:
出于某种原因,sprintf 打印出我想在其内容中附加一个字符串的 char 数组的名称,从而使结果变得无用。它看起来不错,应该可以工作,只是它没有。 这是我所拥有的:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define STR "ST%d"
#define MAX_MSG 80
char name[MAX_MSG+1] ;
int main(int argc, char **argv) {
printf("Before: %s\n",name); //--debug
sprintf(name,STR,1); //format by 1
printf("After: %s\n",name);
}
然后这给了我:
Before: name
After: nameST1
据我所知,这应该给我
Before:
After: ST1
请帮忙。
【问题讨论】: