int main(int argc, char* argv[]) { int buf[4] = { '9', '2', '1', '\0' }; printf("%s", buf); getch(); return 0; } Почему то выводится только первая цифра - хотя мне нужно все. если инт заменить на чар то все работает - но мне нужно с инт - поможите чем сможете!
char buf[4] = { '9', '2', '1', 0 }; с интом нельзя. зачем тебе int? можно с интом так: int buf[3] = { '4321', '8765', 0 }; printf("%s", buf); выведет строку 12345678.
int main(int argc, char* argv[]) { int buf[2] = { '129','\0' }; printf("%s\n", buf); getch(); return 0; }
Код (Text): #include <stdio.h> #include <stdlib.h> #define XD_OPEN_SOURCE int main() { printf ("normal constant asserting\n\n"); int buf1[10] = {'9','8','7','6','5','4','3','2','1','0'}; int i1=0; for (i1=0; i1<10; i1++){ printf("%c",buf1[i1]); } printf ("\n\nMulticharacter constant asserting - Если вы увидите разницу... значит у вас нет глаз.\n\n"); int buf[10] = {'3333339','7444448','7788887','1236','55555','98984','44443','1232','45261','2320'}; int i=0; for (i=0; i<10; i++){ printf("%c",buf[i]); } printf ("\n\nFeel the difference!\n\n\tWASM.ru\n\n"); return EXIT_SUCCESS; }
int buf[10] = {'3333339','7444448','7788887','1236','55555','98984','44443','1232','45261','2320'}; printf ("%s",buf); А так?