Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
[horse@myhost ~]$ cc -o ss.out ss.c && ./ss.out
Привет,habra
arbah,�ѵвиЀџa ^= b ^= a ^= b;Пожалуй это будет самый быстрый и самый короткий код для этой задачи. Т.к. переставить две переменные местами, не прибегая к помощи третей в Си реализовать не возможно. Последний символ строки '\0' не трогается, т.к. при i=0 мы будем менять предпоследний символ с первым, длина строки при перевороте не меняется.
void swap (int &a, int &b)
{
return a ^= b ^= a ^= b;
}
% time ./v1
./v1 0.57s user 0.00s system 63% cpu 0.906 total % time ./v3
./v3 0.23s user 0.00s system 59% cpu 0.394 totallen = strlen(str);
for(i=0; i < len>>1;i++){
ch = str[i];
str[i] = str[len-1-i];
str[len-1-i] = ch;
};
len = strlen(str);
halfOfLen = len>>1;
for(i=0; i < halfOfLen;i++){
ch = str[i];
str[i] = str[len-1-i];
str[len-1-i] = ch;
};
for line in FIN.readlines():
for line in FIN:
len>>1
for (i = 0, j = strlen(s)-1; i < j; i++, j--) {
c = s[i];
s[i] = s[j];
s[j] = c;
}
#include <string.h>
void reverse(char s[])
{
int c, i, j;
for (i = 0, j = strlen(s)-1; i < j; i++, j--) {
c = s[i];
s[i] = s[j];
s[j] = c;
}
}
sumOfFile = lambda filename: sum([int(line) for line in open(filename, 'r').readlines()])
sumOfFile = lambda filename: sum(int(line) for line in open(filename, 'r').readlines())
int sum=0, input=0;
FILE * pFile;
pFile = fopen ("myfile.txt","r");
while(fscaf( pFile ,"%d", &input) != EOF)
sum+=input;
ptintf("sum = %d\n", sum);
Я хочу работать в Google! Телефонное интервью (часть 2)