1. C++ / Говнокод #27355

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    void main()
    {
    	unsigned char c=0;
    	for (int c = 0;c < 256; c++) {
    		cout << "the value of '" << c << "' is: " << int(c) << '\n';
    		
    	}
    	
    }

    Ой, а чойта оно повесилося и пикает?

    Запостил: untitled_001, 12 Апреля 2021

    Комментарии (17) RSS

    • Ой, а что это оно не собирается?

      Ошибка C2220 следующее предупреждение рассматривается как ошибка
      Предупреждение C4326 возвращаемый тип "main" должен быть "int", а не "void"

      А вообще оно не повесится:
      Предупреждение C4456 объявление "c" скрывает предыдущее локальное объявление
      Предупреждение C4189 c: локальная переменная инициализирована, но не использована

      Пикнет разок и всё.
      Ответить
      • Это какойнито борланд си 3.11 под дос
        Ответить
        • Даже там 256 входило в инт.
          Ответить
          • я про
            >Предупреждение C4326 возвращаемый тип "main" должен быть "int", а не "void"


            зы: фу, у email protectedа русская студия
            Ответить
            • Какая поставилась, такая и есть. Она ещё и Community Edition к прочему. Зато gcc английский.
              Ответить
          • в .model medium интом было всё от 8000..7FFF, не?
            Ответить
      • Наверняка есть какие-нибудь говнокомпиляторы крестов, где в теле цикла будет юзаться "unsigned char c", а в условии - "int c"
        Ответить
        • разве тело не должно шедоуить?
          Ответить
          • Ну так оно багованным может быть. Вообще, должно быть как при замене:
            unsigned char c=0;
            for (int c_2 = 0;c_2 < 256; c_2++) {
            	cout << "the value of '" << c_2 << "' is: " << int(c_2) << '\n';
            }
            Ответить
        • ЕМНИП в допотопном стандарте for(x; y; z){...} означало x; while(y) {...; z} вместо {x; while(y) {...; z}}. Но в таком случае должно было ругнуться на повторное объявление.
          Ответить
          • И как же тут можно обосраться? Если for можно выразить через while с помощью мокросов (ну почти, точки с запятой не хватает).
            Ответить
          • ЕМНИП до C99 вообще все переменные нужно было объявлять сразу в голове функции, как в паскале

            И обосраца было весьма трудно
            Ответить
          • Даже страшня представить, какая это древность. Хорошо, что сейчас всё работает как нядо и даже ворнинг выдаёт: warning C4456: declaration of 'c' hides previous local declaration.
            Ответить
            • Вроде бы исправили в одном из черновиков стандарта в середине 90х.
              Ответить
        • GCC вкусно собирает
          Ответить
    • Может, там одна c русская? Тогда может и повеситься.
      Ответить

    Добавить комментарий