- 1
printf(" %f %f %f %f %f %f %f %f\n",Xk[0],Xk[1],Xk[2],Xk[3],Xk[4],Xk[5],Xk[6], Xk[7]);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+123.5
printf(" %f %f %f %f %f %f %f %f\n",Xk[0],Xk[1],Xk[2],Xk[3],Xk[4],Xk[5],Xk[6], Xk[7]);
Рад бы был, если б это написали китайцы. К сожалению, дело рук наших соотечественников.
guest 26.10.2009 00:01 # +1
для 8 элементов плодить лишний цикл для вывода тоже не всегда айс. например в такой форме проще дописать названия параметров в выводную строку если они разные для элементов.
interested 26.10.2009 07:49 # 0
Бывало и говнокодее -- два-три таких printf.
Подобные выводы, скорее всего, просто отладочные, хочется глазами уследить, что там происходит. А для счёта перекомпилировать, закомментировав вывод.
generalgda 26.10.2009 22:50 # 0
guest 27.10.2009 10:32 # 0
generalgda 27.10.2009 13:06 # 0
Доведём вашу идею до абсурда и поставим человеку монитор шириной с комнату. И что? Сразу можно писать ВСЮ программу в одну строку?
interested 27.10.2009 11:00 # 0
Типичный printf:
printf("%.8f %.8f %.8f %.8f %.8f %.8f %.8f %.8f %.5f %d", q[0], q[1], q[2], q[3], q.norm(), fabs(q[1]), fabs(q[2]), fabs(q[3]), rot.angle,rot.madeIter());
Как такое в цикл?
А без него у меня всё в точности так, как в командной строке. И переставить легко местами. Захочу, буду рядом выводить q[1] и fabs(q[1]), а захочу и не буду... Всякие циклы, лишние строки, они от дела отвлекают.
Обычно printf служит именно для быстрой проверки того, что творится внутри кода, а не для красивой записи. То, что в файл, скажем, печатается, ещё может быть определённым образом структурировано для той программы, куда потом отправится, а на экран выводить данные, только чтобы глазом проследить кривую, основные моменты, ошибку отловить.
generalgda 27.10.2009 13:04 # 0
Посмотрю я на вас, когда вы случайно поменяете местами выражения разных типов, а команды их форматирования (%d %.8f) забудете. Если не лениться и написать агрегат в несколько строк, то такой проблемы не возникнет. И переставлять легче строки, а не конструкции внутри строки.
printf прежде всего печатает в консоль. И служит он много для чего. Чем отличается печать отладочных данных от не отладочных? Почему во втором случае разрешается делать говнокод? Непонятно.
interested 27.10.2009 15:03 # 0
Я не знаю ни одного живого человека, который бы разбивал такую строку данных на две.
Уж фортрановцы и подавно всё в одной строке пишут.
interested 27.10.2009 15:06 # 0
Но со мной это происходило только на младших курсах.
guest 27.10.2009 23:54 # 0
interested 28.10.2009 08:09 # 0
guest 28.10.2009 12:48 # 0
float Xk[8] = {...};
printf(" %f %f %f %f %f %f %f %f\n", Xk);
((
guest 03.11.2009 14:51 # 0
int main()
{
struct X{
double Xk[8];
} x = {1,2,3,4,5,6,7,8};
printf(" %f %f %f %f %f %f %f %f\n", x);
}
guest 12.11.2009 20:28 # 0
fasol8 07.02.2010 05:49 # 0
#include <stdio.h>
#define A 9
#define B A
int main()
{
int x[]={B,012,11,12};
printf("%d %d %d %d\n");
}
fasol8 07.02.2010 05:58 # 0
int x[]={B,012,0xB,12};
Bor1k 02.02.2010 13:37 # 0