printf

Тема в разделе "LANGS.C", создана пользователем systemio, 8 июн 2008.

  1. systemio

    systemio New Member

    Публикаций:
    0
    Регистрация:
    18 мар 2008
    Сообщения:
    98
    int main(int argc, char* argv[])
    {
    int buf[4] = { '9', '2', '1', '\0' };

    printf("%s", buf);

    getch();
    return 0;
    }

    Почему то выводится только первая цифра - хотя мне нужно все. если инт заменить на чар то все работает - но мне нужно с инт - поможите чем сможете!
     
  2. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    остальные разряды int'a содержат нули, которые обычно являются терминирующими для с-строк.
     
  3. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    char buf[4] = { '9', '2', '1', 0 };
    с интом нельзя. зачем тебе int?

    можно с интом так:

    int buf[3] = { '4321', '8765', 0 };
    printf("%s", buf);

    выведет строку 12345678.
     
  4. _s_a_t_a_n_

    _s_a_t_a_n_ New Member

    Публикаций:
    0
    Регистрация:
    5 май 2008
    Сообщения:
    13
    int main(int argc, char* argv[])
    {
    int buf[2] = { '129','\0' };
    printf("%s\n", buf);
    getch();
    return 0;
    }
     
  5. Com[e]r

    Com[e]r Com[e]r

    Публикаций:
    0
    Регистрация:
    20 апр 2007
    Сообщения:
    2.624
    Адрес:
    ого..
    а нахера последний \ноль?
    убрать на(см. первое слово)!
     
  6. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    Код (Text):
    1. #include <stdio.h>
    2. #include <stdlib.h>
    3. #define XD_OPEN_SOURCE
    4.  
    5. int main()
    6. {
    7. printf ("normal constant asserting\n\n");
    8.     int buf1[10] = {'9','8','7','6','5','4','3','2','1','0'};
    9.     int i1=0;
    10.     for (i1=0; i1<10; i1++){
    11.     printf("%c",buf1[i1]);
    12.     }
    13.  
    14. printf ("\n\nMulticharacter constant asserting - Если вы увидите разницу... значит у вас нет глаз.\n\n");
    15.     int buf[10] = {'3333339','7444448','7788887','1236','55555','98984','44443','1232','45261','2320'};
    16.     int i=0;
    17.     for (i=0; i<10; i++){
    18.     printf("%c",buf[i]);
    19.     }
    20. printf ("\n\nFeel the difference!\n\n\tWASM.ru\n\n");
    21.  
    22. return EXIT_SUCCESS;
    23. }
     
  7. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    int buf[10] = {'3333339','7444448','7788887','1236','55555','98984','44443','1232','45261','2320'};
    printf ("%s",buf);
    А так?