HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 11.11.2008, 10:43
Namelles One
Познающий
Регистрация: 08.07.2005
Сообщений: 47
Провел на форуме:
149096

Репутация: 65
По умолчанию

Может я, конечно, жестоко ошибаюсь, но мне кажется, что по стандарту С - все переменные должны быть обьявлены в самом начале функции - до любого прочего кода.
 
Ответить с цитированием

  #2  
Старый 11.11.2008, 12:35
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

Репутация: 119
По умолчанию

Цитата:
все переменные должны быть обьявлены в самом начале функции
можно еще в циклах обяъвлять
 
Ответить с цитированием

  #3  
Старый 11.11.2008, 12:53
groupby
Познающий
Регистрация: 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
 
Ответить с цитированием

  #4  
Старый 11.11.2008, 13:19
criz
Постоянный
Регистрация: 04.11.2007
Сообщений: 303
Провел на форуме:
811764

Репутация: 119
По умолчанию

Цитата:
Borland C это далеко не стандарт Си.. ИМХО
согласен, что не стандарт. Сам не люблю когда встречаю объявление в середине кода =\
не удобно блин))
 
Ответить с цитированием

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

Репутация: -5
По умолчанию

ага, спасибо, ребят!)
 
Ответить с цитированием

  #6  
Старый 12.11.2008, 13:11
advokat.holy
Новичок
Регистрация: 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
 
Ответить с цитированием

  #7  
Старый 12.11.2008, 13:37
groupby
Познающий
Регистрация: 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 ; договорились, что остаток не нужен
 
Ответить с цитированием

  #8  
Старый 12.11.2008, 13:30
F&D
Участник форума
Регистрация: 06.11.2008
Сообщений: 208
Провел на форуме:
261838

Репутация: 9
По умолчанию

Я конечно не гений в ассемблере, но сразу на глаз вижу вроде не правильно. У нас в универе подобные задания есть, вечером постараюсь отписаться(если раньше никто не поможет), или если что пиши в личку - помогу.
 
Ответить с цитированием

  #9  
Старый 13.11.2008, 12:53
uzer2008
Новичок
Регистрация: 11.11.2008
Сообщений: 2
Провел на форуме:
3458

Репутация: 0
По умолчанию

Здравствуйте!
Помогите написать прогу или подскажите где можна найти инфу по етой теме.
Перевод однозначново восьмеричнова числа в символьное представления.
в инети находил как переводить с одной системы счисления в другую, а вот как символьное представления немогу чото найти. Благодарен за любую помощь.
 
Ответить с цитированием

  #10  
Старый 13.11.2008, 13:24
groupby
Познающий
Регистрация: 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);
}
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Американским студентам запретили пользоваться Skype KPOT_f!nd Мировые новости. Обсуждения. 1 28.09.2006 03:47
Любителям квестов сюда!! FoX's Болталка 10 25.01.2005 20:42



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.