по какой-то причине sprintf печатает имя моего массива char, содержимое которого я хочу добавить в строку, делая результат бесполезным. Он выглядит хорошо, и он должен работать, только это не так. Вот что у меня есть:C - имя переменной печати sprintf
#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
Пожалуйста, помогите.
Пожалуйста, пост [Minimal, полный и проверяемый пример] (http://stackoverflow.com/help/mcve). –
[Проблема не в этом примере кода.] (Http://ideone.com/jvLhkv) – user694733