Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
5 / 5 / 0
Регистрация: 02.05.2010
Сообщений: 40
1

Неверный вывод printf

18.10.2010, 23:45. Показов 1213. Ответов 4
Метки нет (Все метки)

Доброго времени суток. Код
C
1
printf("%s %s\n",byte_to_binary(i), byte_to_binary(sbox1(i)));
где
C
1
const char *byte_to_binary(int)
получается:

byte_to_binary(i) return "0000"
byte_to_binary(sbox1(i)) return "0101"

Почему на экран выводит только "0000 0000" ???

Видимо я чего то не знаю...
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.10.2010, 23:45
Ответы с готовыми решениями:

Неверный вывод экспоненциального числа при использовании scanf и printf
Здравствуйте, Возникла проблема при выполнении задания, вместо вроде как считанного scanf числа,...

Вывод printf
Привет всем, я тут начал изучать язык си и вот столкнулся с проблемой. Программа преобразует массив...

Вывод символов printf
Не могу понять, почему когда я значения переменных заключаю в двойные кавычки, то у меня выводится...

Неверный вывод
Вот код- #include <stdio.h> #include <stdlib.h> int main() { int n,i; double R,S;...

4
895 / 789 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
18.10.2010, 23:58 2
Выложыте весь код!!!
0
5 / 5 / 0
Регистрация: 02.05.2010
Сообщений: 40
19.10.2010, 00:01  [ТС] 3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
const char *byte_to_binary(int x)
{
    int i;
 
    static char b[4];
    b[0] = '\0';    
    for (i = 8; i > 0; i >>= 1)
        strcat(b, ((x & i) == i) ? "1" : "0");
    return b;
};
int sbox1(int x)
{
    int sbox1[2][8]={
// 000 001 010 011 100 101 110 111
{   5,  2,  5,  3,  1,  6,  7,  1}, //0
{   7,  4,  4,  2,  3,  5,  6,  3}  //1
    };
    return sbox1[x>>3&0x1][x&0x7];
};
int main()
{
        i=0;
        printf("%s %s \n",byte_to_binary(i), byte_to_binary(sbox1(i)));
        return 0;
}
0
бжни
2473 / 1682 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
19.10.2010, 00:02 4
экстрасенсов нету

Добавлено через 1 минуту
Цитата Сообщение от SimaLiveEvil Посмотреть сообщение
static char b[4];
вас не смущает, что обе строки будут храниться в одном массиве?
1
5 / 5 / 0
Регистрация: 02.05.2010
Сообщений: 40
19.10.2010, 00:06  [ТС] 5
а, все понял спасибо )
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.10.2010, 00:06

Вывод кириллицы через printf
Как вывести кириллицу, то есть: printf("Абра кадабра"); и получать нормальный текст, как это...

Неверный вывод sizeof
#include "stdafx.h" #include <stdlib.h> #include <locale.h> /* ДЛЯ РАБОТЫ С КИРИЛЛИЦЕЙ */ int...

Вывод одномерного массива через printf
Пожалуйста, помогите правильно написать вывод, по возможности в printf и % cout « "mas X::";...

Неверный вывод long double
Здравствуйте, загвоздка в том, как выводит значения тип long double. void main() { long...

Как организовать вывод переменных посредством printf
Интересует такой нюанс. Как организовать вывод этих переменных таким образом? т.е....

Вывод printf
Здравствуйте! Почему не выводится средний столбец? #include <conio.h> #include <stdio.h> ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.