ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

11.11.2008, 10:43
|
|
Познающий
Регистрация: 08.07.2005
Сообщений: 47
Провел на форуме: 149096
Репутация:
65
|
|
Может я, конечно, жестоко ошибаюсь, но мне кажется, что по стандарту С - все переменные должны быть обьявлены в самом начале функции - до любого прочего кода.
|
|
|

11.11.2008, 12:35
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
все переменные должны быть обьявлены в самом начале функции
можно еще в циклах обяъвлять 
|
|
|

11.11.2008, 12:53
|
|
Познающий
Регистрация: 21.09.2008
Сообщений: 42
Провел на форуме: 127017
Репутация:
61
|
|
Сообщение от criz
можно еще в циклах обяъвлять 
Borland C это далеко не стандарт Си.. ИМХО
Парень выше правильно сказал. По стандарту в начале кода должны быть сначала объявлены переменные, иначе на половине сишных компиляторов работать не будет.
Ещё кстати на Си в старых компилерах типы параметров, передаваемых в функцию указываются после названия функции, но перед началом блока функции:
Код:
void some_func(a, b)
int a,
int b
{ //кодт
}
http://en.wikipedia.org/wiki/C_syntax
|
|
|

11.11.2008, 13:19
|
|
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме: 811764
Репутация:
119
|
|
Borland C это далеко не стандарт Си.. ИМХО
согласен, что не стандарт. Сам не люблю когда встречаю объявление в середине кода =\
не удобно блин))
|
|
|

11.11.2008, 16:00
|
|
Новичок
Регистрация: 08.11.2008
Сообщений: 9
Провел на форуме: 28743
Репутация:
-5
|
|
ага, спасибо, ребят!)
|
|
|

12.11.2008, 13:11
|
|
Новичок
Регистрация: 05.03.2008
Сообщений: 11
Провел на форуме: 46977
Репутация:
1
|
|
Люди помогите плиз!
Я хочу стать веб программистом, а мне тут в универе дают лабы на асме =((( я в нем ваще ОЛЕНЬ
вот надо посчитать такой вот пример: (8-10)*(5/2+4)/(9-3*2)
я вот тут чето пытался но не получается =(
;(8-10)*(5/2+4)/(9-3*2)
.8086
.model small
.stack 200h
.data
a db 8
b db 10
c db 5
d db 2
e db 4
f db 9
g db 3
result dw ?
zal dw ?
.code
.startup
mov al,a ;al=8
sub al,b ;ax=8-10
mov bx,ax ;bx=ax
mov ax,0 ;ax=0
mov al,c ;al=5
div d ;ax=5/2
mov cx,ax ;cx=ax
mov ax,0
mov al,e
add cx,ax ;cx=cx+ax=5/2+4
mov ax,0
mov ax,bx
div cx
.exit 0
end @startup
|
|
|

12.11.2008, 13:37
|
|
Познающий
Регистрация: 21.09.2008
Сообщений: 42
Провел на форуме: 127017
Репутация:
61
|
|
Сообщение от advokat.holy
!
Нет возможности проверить, но думаю должно работать (все деление целочисленное):
Код:
; 8 - 10
mov al, 8
sub al, 10
push al
; 5/2 + 4
mov ax, word ptr 5
mov bl, 2
div bl
add al, 4
xor ah, ah ; деление без остатка
; умножение скобок
mov bl, al
pop al
mul bl ; нам достаточно байта, чтобы не лезло в ax:dx
push ax
mov al, 3
mov bl, 2
mul bl
mov bx, word ptr 9
sub bx, ax
pop ax
div bx
; результат в al, остаток в ah
xor ah, ah ; договорились, что остаток не нужен
|
|
|

12.11.2008, 13:30
|
|
Участник форума
Регистрация: 06.11.2008
Сообщений: 208
Провел на форуме: 261838
Репутация:
9
|
|
Я конечно не гений в ассемблере, но сразу на глаз вижу вроде не правильно. У нас в универе подобные задания есть, вечером постараюсь отписаться(если раньше никто не поможет), или если что пиши в личку - помогу.
|
|
|

13.11.2008, 12:53
|
|
Новичок
Регистрация: 11.11.2008
Сообщений: 2
Провел на форуме: 3458
Репутация:
0
|
|
Здравствуйте!
Помогите написать прогу или подскажите где можна найти инфу по етой теме.
Перевод однозначново восьмеричнова числа в символьное представления.
в инети находил как переводить с одной системы счисления в другую, а вот как символьное представления немогу чото найти. Благодарен за любую помощь.
|
|
|

13.11.2008, 13:24
|
|
Познающий
Регистрация: 21.09.2008
Сообщений: 42
Провел на форуме: 127017
Репутация:
61
|
|
Сообщение от uzer2008
Здравствуйте!
Перевод однозначново восьмеричнова числа в символьное представления.
Код:
#include <stdio.h>
void main()
{
//Твое однозначное 8-ное число (0-7)
int chislo = 6;
char a[3] = {'0', 0, 0};
//строка с числом
a[1] = chislo + '0';
printf("%s\n", a);
}
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|