Я просто оставлю это здесь.
[user@domain ~]# cc -Wall -Werror -pedantic Binary.c
BinaryPrint.c:6:5: error: C++ style comments are not allowed in ISO C90
BinaryPrint.c:6:5: error: (this will be reported only once per input file)
cc1: warnings being treated as errors
BinaryPrint.c: In function 'BinaryPrint':
BinaryPrint.c:13: warning: ISO C90 forbids mixed declarations and code |
[user@domain ~]# cc -Wall -Werror -pedantic Binary.c
BinaryPrint.c:6:5: error: C++ style comments are not allowed in ISO C90
BinaryPrint.c:6:5: error: (this will be reported only once per input file)
cc1: warnings being treated as errors
BinaryPrint.c: In function 'BinaryPrint':
BinaryPrint.c:13: warning: ISO C90 forbids mixed declarations and code
diff -r afee20b80dff BinaryPrint.c
--- a/BinaryPrint.c Tue Feb 22 09:11:12 2011 +0300
+++ b/BinaryPrint.c Tue Nov 15 18:51:10 2011 +0300
@@ -3,31 +3,31 @@
void BinaryPrint( long n )
{
- // Частный случай - n равно нулю
+ unsigned long mask = 1 << (sizeof(n) * 8 - 1);
+
+ /* Пропускаем бесполезные нули слева */
+ int skipZero = 1;
+
+ /* Частный случай - n равно нулю */
if (n == 0)
{
printf("0\n");
return;
}
- unsigned long mask = 1 << (sizeof(n) * 8 - 1);
-
- // Пропускаем бесполезные нули слева
- int skipZero = 1;
-
while (mask)
{
- // Определим текущий бит
+ /* Определим текущий бит */
unsigned char c = (n & mask) ? 1 : 0;
- // Отключим пропуск нулей в дальнейшем
+ /* Отключим пропуск нулей в дальнейшем */
if (skipZero && c)
skipZero = 0;
if (!skipZero)
printf("%d", c);
- // Сдвинем маску на один бит вправо
+ /* Сдвинем маску на один бит вправо */
mask >>= 1;
}
printf("\n"); |
diff -r afee20b80dff BinaryPrint.c
--- a/BinaryPrint.c Tue Feb 22 09:11:12 2011 +0300
+++ b/BinaryPrint.c Tue Nov 15 18:51:10 2011 +0300
@@ -3,31 +3,31 @@
void BinaryPrint( long n )
{
- // Частный случай - n равно нулю
+ unsigned long mask = 1 << (sizeof(n) * 8 - 1);
+
+ /* Пропускаем бесполезные нули слева */
+ int skipZero = 1;
+
+ /* Частный случай - n равно нулю */
if (n == 0)
{
printf("0\n");
return;
}
- unsigned long mask = 1 << (sizeof(n) * 8 - 1);
-
- // Пропускаем бесполезные нули слева
- int skipZero = 1;
-
while (mask)
{
- // Определим текущий бит
+ /* Определим текущий бит */
unsigned char c = (n & mask) ? 1 : 0;
- // Отключим пропуск нулей в дальнейшем
+ /* Отключим пропуск нулей в дальнейшем */
if (skipZero && c)
skipZero = 0;
if (!skipZero)
printf("%d", c);
- // Сдвинем маску на один бит вправо
+ /* Сдвинем маску на один бит вправо */
mask >>= 1;
}
printf("\n");
[user@domain ~]# cc -Wall -Werror -pedantic RemoveDups.c
RemoveDups.c:8:5: error: C++ style comments are not allowed in ISO C90
RemoveDups.c:8:5: error: (this will be reported only once per input file)
cc1: warnings being treated as errors
RemoveDups.c: In function 'RemoveDups':
RemoveDups.c:16: warning: value computed is not used
RemoveDups.c:22: warning: value computed is not used
RemoveDups.c:24: warning: value computed is not used |
[user@domain ~]# cc -Wall -Werror -pedantic RemoveDups.c
RemoveDups.c:8:5: error: C++ style comments are not allowed in ISO C90
RemoveDups.c:8:5: error: (this will be reported only once per input file)
cc1: warnings being treated as errors
RemoveDups.c: In function 'RemoveDups':
RemoveDups.c:16: warning: value computed is not used
RemoveDups.c:22: warning: value computed is not used
RemoveDups.c:24: warning: value computed is not used
diff -r afee20b80dff RemoveDups.c
--- a/RemoveDups.c Tue Feb 22 09:11:12 2011 +0300
+++ b/RemoveDups.c Tue Nov 15 18:56:00 2011 +0300
@@ -5,25 +5,25 @@
const char * src = pStr;
char * dst = pStr;
- // Пока не дойдем до конца строки
+ /* Пока не дойдем до конца строки */
while (*src)
{
- // Записываем в pStr текущий символ, если указатели разные
+ /* Записываем в pStr текущий символ, если указатели разные */
if (dst != src)
*dst = *src;
- // Сдвигаем dst вправо
- *dst++;
+ /* Сдвигаем dst вправо */
+ dst++;
- // Пока не конец строки и следующий символ такой же
+ /* Пока не конец строки и следующий символ такой же */
while ((*src + 1) && *(src + 1) == *src)
{
- // Сдвигаем указатель src вправо
- *src++;
+ /* Сдвигаем указатель src вправо */
+ src++;
}
- *src++;
+ src++;
}
- // Запишем ноль в конец строки
+ /* Запишем ноль в конец строки */
*dst = 0;
} |
diff -r afee20b80dff RemoveDups.c
--- a/RemoveDups.c Tue Feb 22 09:11:12 2011 +0300
+++ b/RemoveDups.c Tue Nov 15 18:56:00 2011 +0300
@@ -5,25 +5,25 @@
const char * src = pStr;
char * dst = pStr;
- // Пока не дойдем до конца строки
+ /* Пока не дойдем до конца строки */
while (*src)
{
- // Записываем в pStr текущий символ, если указатели разные
+ /* Записываем в pStr текущий символ, если указатели разные */
if (dst != src)
*dst = *src;
- // Сдвигаем dst вправо
- *dst++;
+ /* Сдвигаем dst вправо */
+ dst++;
- // Пока не конец строки и следующий символ такой же
+ /* Пока не конец строки и следующий символ такой же */
while ((*src + 1) && *(src + 1) == *src)
{
- // Сдвигаем указатель src вправо
- *src++;
+ /* Сдвигаем указатель src вправо */
+ src++;
}
- *src++;
+ src++;
}
- // Запишем ноль в конец строки
+ /* Запишем ноль в конец строки */
*dst = 0;
}
Читайте также: «Вопросы программисту на собеседовании с ответами».