Please note, this is a STATIC archive of website www.tutorialspoint.com from 11 May 2019, cach3.com does not collect or store any user information, there is no "phishing" involved.
Tutorialspoint

C Array of 3 Integers

c

#include <stdio.h>
 
const int MAX = 3;
 
int main () {

   int  var[] = {10, 100, 200};
   int i;
    int*ptr;
    ptr=var;
   for (i = 0; i < MAX; i++) {
      printf("Value of var[%d] = %d\n", i, *ptr);
      
      ptr++;
   }
   
   return 0;
}

Incrementing a Pointer in C

c

#include <stdio.h>



int main () {

   int var =20;
   int* ptr ;
   ptr = &var ;
   printf("the adrress of variable var is : %x"/n,ptr);
   }
	
 

BITWISE

c

#include <stdio.h>

void main() {

   unsigned int a = 8;	/* 60 = 0011 1100 */  
   unsigned int b = 13;	/* 13 = 0000 1101 */
   int c = 0;           

   c = a & b;       /* 12 = 0000 1100 */ 
   printf("Line 1 - Value of c is %d\n", c );

   c = a | b;       /* 61 = 0011 1101 */
   printf("Line 2 - Value of c is %d\n", c );

   c = a ^ b;       /* 49 = 0011 0001 */
   printf("Line 3 - Value of c is %d\n", c );

   c = ~a;          /*-61 = 1100 0011 */
   printf("Line 4 - Value of c is %d\n", c );

   c = a << 6;     /* 240 = 1111 0000 */
   printf("Line 5 - Value of c is %d\n", c );

   c = a >> 2;     /* 15 = 0000 1111 */
   printf("Line 6 - Value of c is %d\n", c );
}

Hello

c

#include <stdio.h>

int main()
{
    printf("Hello, World!\n");

    return 0;
}

ビジュアルスタジオ用

c

#include <stdio.h>
#pragma warning(disable: 4996)
int main(void)
{
	FILE* fp;
	char* fname = "log.txt";
	char* str = "aaa";
	int i;
	fp = fopen(fname, "a+");
	if (fp == NULL) {
		printf("%sファイルが開けません?n", fname);
		return -1;
	}
	for (i = 0; i < 3; i++) {
		fputc(str[i], fp);
	}
	int var = 30;
	fclose(fp);
	printf("%sファイル書き込みが終わりました?n", fname);
	return 0;
}

Reverse order of array items

c

#include <stdio.h>

#define N 5

int main(){
    
    int a[N] = {'a','b','c','d','e'
    }, *p;
    for(p = &a[N-1]; p >= a; p--){
        printf("%c", *p);
    }

    return 0;
}

//Print the elemnts of the array in reversed order

.arr

c

#include <stdio.h>

n=int(input ("enter number"))
temp=n rev=0
when(n>0): dig=n%10
rev=rev*10+dig n=//10
if(temp==rev):ptint("the number isn't ) a palindrome!")
>>Runtime Test Cases Case 1 Enter number:121 The number is a palindrom!
Case 2 Enter Number:567 The number is a palindrom!

JT56S71-595B

c

include <stdio.h>
#include <string.h>
#include <time.h>
 
#define mystr "Minha própria utilidade. Copyright (C) 2007-2010 hpgl, Russia"
 
#define allow595B
#define allowA95B
#define allow2A7B
 
#define fSVCTAG 0
#define fHDDSN 1
#define fHDDold 2
#define t595B 0
#define tD35B 1
#define tA95B 2
#define t2A7B 3
 
#ifdef allow595B
#define f595B
#fim se
#ifdef allowA95B
#define f595B
#fim se
#ifdef allow2A7B
#define f595B
#fim se
 
char bSuffix [] = "595BD35BA95B2A7B";
 
char scancods [] = "\ 00 \ 0331234567890 - = \ 010 \ 011qwertyuiop [] \ 015 \ 377asdfghjkl; '` \ 377 \\ zxcvbnm, ./ ";
char encscans [] = {0x05,0x10,0x13,0x09,0x32,0x03,0x25,0x11,0x1F, 0x17,0x06,0x15, \
                 0x30,0x19,0x26,0x22,0x0A, 0x02,0x2C, 0x2F, 0x16,0x14,0x07,0x18, \
                 0x24,0x23,0x31,0x20,0x1E, 0x08,0x2D, ​​0x21,0x04,0x0B, 0x12,0x2E};
 
#ifdef allow2A7B
char chartabl2A7B [72] = "012345679abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0";
#fim se
 
não assinado int MD5magic [64] = {
0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee,
0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501,
0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be,
0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821,
0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa,
0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8,
0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed,
0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a,
0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c,
0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70,
0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x4881d05,
0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665,
0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039,
0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1,
0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391};
 
unsigned char inData [23], outData [16];
char buf1output [32], buf1input [20];
char bug4;
 
void calcsuffix (char bfunc, char btype, char * outbuf);
 
void initData (void) {
        * (int *) (& outData [0]) = 0x67452301;
        * (int *) (& outData [4]) = 0xEFCDAB89;
        * (int *) (& outData [8]) = 0x98BADCFE;
        * (int *) (& outData [12]) = 0x10325476;
}
 
typedef int (encfuncT1) (int num1, int num2, int num3);
 
#ifdef f595B
int enc0F2 (int num1, int num2, int num3) {return (((num3 num2) num1) num3);
int enc0F4 (int num1, int num2, num3 int) {return ((num2 num1 numérico) ^ num3); }
int enc0F5 (int num1, int num2, int num3) {return ((num1 | ~ num3) num2); }
#fim se
int enc1F2 (int num1, int num2, int num3) {return (((num3 ^ num2) & num1) num3);}
int enc1F4 (int num1, int num2, int num3) {return ((num2 ^ num1) ^ num3); }
int enc1F5 (int num1, int num2, int num3) {return ((num1 | ~ num3) ^ num2); }
int encF3 (int num1, int num2, int num3) {return (((num1 ^ num2) & num3) ^ num2);}
 
typedef int (encfuncT2) (função encfuncT1, int num1, int num2, int num3, tecla int);
 
int enc1F1 (função encfuncT1, int num1, int num2, int num3, tecla int)
{
        return func (num1, num2, num3) + tecla;
}
 
#ifdef f595B
int enc0F1 (função encfuncT1, int num1, int num2, int num3, tecla int)
{
        função return func (num1, num2, num3);
}
#fim se
 
int rol unsigned (não assinado int t, int bitsrot)
{
        return (t >> (32-bitsrot)) | (t << bitsrot);
}
 
void blockEncodeF (int * outdata, int * encblock, encfuncT2 func1,
                  encfuncT1 func2, encfuncT1 func3, encfuncT1 func4, encfuncT1 func5)
{
        char S [4] [4] = {{7, 12, 17, 22}, {5, 9, 14, 20}, {4, 11, 16, 23}, {6, 10, 15, 21}} ;
        int A, B, C, D, t, i;
 
        A = outdata [0];
        B = outdata [1];
        C = outdata [2];
        D = outdata [3];
 
        para (i = 0; i <64; i ++) {t = MD5magic [i]; interruptor (i >> 4) {
                        caso 0: t = A + func1 (func2, B, C, D, t + encapsulamento [(i) & 15]); pausa;
                        caso 1: t = A + func1 (func3, B, C, D, t + encapsulamento [(i * 5 + 1) & 15]); pausa;
                        caso 2: t = A + func1 (func4, B, C, D, t + encapsulamento [(i * 3 + 5) & 15]); pausa;
                        caso 3: t = A + func1 (func5, B, C, D, t + encapsulamento [(i * 7) & 15]); pausa;
                }
                A = D; D = C; C = B; B + = rol (t, S [i >> 4] [i e 3]);
        };
 
        outdata [0] + = A;
        outdata [1] + = B;
        outdata [2] + = C;
        outdata [3] + = D;
}
 
void blockEncode (char * outdata, int * encblock, char btype) {
        if (btype == tD35B)
                blockEncodeF ((int *) outdata, encblock, enc1F1, enc1F2, encF3, enc1F4, enc1F5);
#ifdef f595B
        outro
                blockEncodeF ((int *) outdata, encblock, enc0F1, enc0F2, encF3, enc0F4, enc0F5);
#fim se
}
 
void encode (char * inbuf, int cnt, char btype) {
        int encBlock [16];
        char * ptr;
        initData ();
        memcpy (encBlock, inbuf, cnt);
        ptr = & ((char *) encBlock) [cnt];
        * ptr ++ = 0x80;
        memset (ptr, 0,64-1-cnt);
        encBlock [16-2] = ((int não assinado) cnt << 3);
        blockEncode (outData, encBlock, btype);
}
 
void psw (char bfunc, char btype, char * outbuf) {
        int cnt, i, lenpsw, r;
        if (bfunc == fHDDold) {
                memcpy (inData, buf1input, 11);
// calcsuffix (bfunc, btype, outbuf);
                for (cnt=0;cnt<8;cnt++)                         outbuf[cnt]= scancods[ outbuf[cnt] ];   } else {                memset(inData,0,sizeof(inData));                if (bfunc==fSVCTAG) cnt=7;              else cnt=11;            if ((bfunc==fHDDSN) && (btype==tA95B))                  memcpy(inData,&buf1input[3],cnt-3);             else                    memcpy(inData,buf1input,cnt);           if (btype==t595B) memcpy(&inData[cnt],&bSuffix[0],4); else              if (btype==tD35B) memcpy(&inData[cnt],&bSuffix[4],4); else              if (btype==tA95B) memcpy(&inData[cnt],&bSuffix[0],4); else              if (btype==t2A7B) memcpy(&inData[cnt],&bSuffix[12],4);          cnt += 4;               inData[cnt] = inData[4] & 0x1F;                 inData[cnt+1] = ((inData[4] >> 5) | (((inData[3] >> 5) | (inData[3] << 3)) & 0xF1) & 0x1F);             inData[cnt+2] = ((inData[3] >> 2) & 0x1F);
                inData [cnt + 3] = (inData [3] >> 7) | ((inData [2] << 1) & 0x1F); inData [cnt + 4] = (inData [2] >> 4) | ((inData [1] << 4) & 0x1F); inData [cnt + 5] = (inData [1] >> 1) & 0x1F;
                inData [cnt + 6] = (inData [1] >> 6) | ((inData [0] << 2) & 0x1F); inData [cnt + 7] = (inData [0] >> 3) & 0x1F;
                para (i = cnt; i <8 + cnt; i ++) {
                        r = 0xAA;
                        if (inData [i] e 1)
                                r ^ = inData [4];
                        if (inData [i] e 2)
                                r ^ = inData [3];
                        if (inData [i] e 4)
                                r ^ = inData [2];
                        if (inData [i] e 8)
                                r ^ = inData [1];
                        if (inData [i] e 16)
                                r ^ = inData [0];
                        inData [i] = encscans [r% sizeof (encscans)];
                }
                cnt = 23;
                codificar (inData, cnt, btype);
                r = outData [0]% 9;
                lenpsw = 0;
                para (cnt = 0; cnt <16; cnt ++) {
                        if ((r <= cnt) && (lenpsw <8)) {buf1 saída [lenpsw ++] = scancods [encscans [outData [cnt]% tamanhoof (encscans)]]; }}}} int main (int argc, char * argv []) {unsigned char len, len1, bfunc, eol = 1, echo = 0, * menos, s2 [20]; assinado btype char; int argn = 0; if (argc> 1)
                echo = 1;
 
        if (! echo)
                fputs ("" mystr "\ n" \
                  "A tag de serviço curta deve ser preenchida com '*' até o tamanho 7 chars \ n" \
                  "O número de série do HDD está certo 11 caracteres do HDDSerNum real acolchoado com '*' \ n" \
                  "Algumas BIOS deixaram o número de série do pad HDD com espaços em vez de '*' \ n", stdout);
 
        while (! feof (stdin)) {
                if ((argc <= 1) && argn) quebra; fputs ("entrada: #", stdout); if (argc> 1) {
                        strncpy (buf1input, argv [++ argn], sizeof (buf1input)); argc--;
                }
                outro {
                        if (! eol) while (! feof (stdin) && (fgetc (stdin)! = '\ n')); eol = 0;
                        if (fgets (buf1input, 16 + 1 + 1, stdin) == NULL) {
                                if (eco) fputs ("\ n", stdout);
                                pausa;
                        }
                }
                len = strlen (buf1input);
                if (len && (buf1input [len-1] == '\ n')) {len -; eol = 1; buf1input [len] = 0;}
                if (eco) {fputs (buf1input, stdout); fputs ("\ n", stdout);}
                menos = strchr (buf1input, '-');
                if (len == 11) {
                        if (menos! = NULL) {
                                fputs ("- entrada incorreta \ n", stdout);
                                continuar;
                        }
                        bfunc = fHDDold;
                        fputs ("Por número de série do HDD para BIOS mais antigo:", stdout);
                } outro {
                        if (len == 0) quebra;
                        if (menos == NULL) {
                                fputs ("- Nenhum tipo de BIOS encontrado na string de entrada, deve ser seguido por -595B e outro registrado \ n", stdout);
                                continuar;
                        }
                        len1 = minus (unsigned char *) buf1input;
 
                        btype = -1;
#ifdef allow595B
                        if (strncmp (& buf1input [len1 + 1], & bSuffix [0], 4) == 0) btype = t595B;
                        outro
#fim se
                        if (strncmp (& buf1input [len1 + 1], & bSuffix [4], 4) == 0) btype = tD35B;
                        outro
#ifdef allowA95B
                        if (strncmp (& buf1input [len1 + 1], & bSuffix [8], 4) == 0) btype = tA95B;
                        outro
#fim se
#ifdef allow2A7B
                        if (strncmp (& buf1input [len1 + 1], & bSuffix [12], 4) == 0) btype = t2A7B;
#fim se
                        if (btype <0) {
                                fputs ("- Tag de serviço inválida na string de entrada, permitida somente -D35B e outra registrada \ n", stdout);
                                continuar;
                        }
                        struct tm * time1; time_t timer1 = time (NULL);
                        time1 = gmtime (& timer1);
                        strftime (s2, tamanho de (s2), "% d.% m.% Y% H:% M", tempo1);
                        fputs (s2, stdout);
                        fputs ("DELL", stdout);
 
                        if (len1 == 7) {
                                bfunc = fSVCTAG;
                                fputs ("tag de serviço:", stdout);
                                fputs (buf1input, stdout);
                        } outro
                        if (len1 == 11) {
                                bfunc = fHDDSN;
                                fputs ("número de série do HDD:", stdout);
                                fputs (buf1input, stdout);
                        }
                        outro {
                                fputs ("- Entrada incorreta, deve ser 7 chars service tag ou 11 chars HDD serial number \ n", stdout);
                                continuar;
                        }
                }
                psw (bfunc, btype, buf1output);
                fputs ("senha:", stdout);
                fputs (buf1output, stdout);
                if (bug4) fputs ("aviso! bug4 - senha pode não funcionar!", stdout);
 
                if (btype == t595B) if (bfunc == fSVCTAG) {// para verificar se o bug A95B
                        char mpw1 [20];
                        strcpy (mpw1, buf1output);
                        psw (bfunc, tA95B, buf1output);
                        if (strcmp (mpw1, buf1output)! = 0) {
                                fputs ("passwordA95B:", stdout);
                                fputs (buf1output, stdout);
                        }
                }
                fputs ("\ n", stdout);
        }
        return 0;
}
Dados de colar RAW
#include <stdio.h>
#include <string.h>
#include <time.h>
 
#define mystr "My own utility. Copyright (C) 2007-2010 hpgl, Russia"
 
#define allow595B
#define allowA95B
#define allow2A7B
 
#define fSVCTAG 0
#define fHDDSN 1
#define fHDDold 2
#define t595B 0
#define tD35B 1
#define tA95B 2
#define t2A7B 3
 
#ifdef allow595B
#define f595B
#endif
#ifdef allowA95B
#define f595B
#endif
#ifdef allow2A7B
#define f595B
#endif
 
char bSuffix[]="595BD35BA95B2A7B";
 
char scancods[]="\00\0331234567890-=\010\011qwertyuiop[]\015\377asdfghjkl;'`\377\\zxcvbnm,./";
char encscans[]={0x05,0x10,0x13,0x09,0x32,0x03,0x25,0x11,0x1F,0x17,0x06,0x15, \
                 0x30,0x19,0x26,0x22,0x0A,0x02,0x2C,0x2F,0x16,0x14,0x07,0x18, \
                 0x24,0x23,0x31,0x20,0x1E,0x08,0x2D,0x21,0x04,0x0B,0x12,0x2E};
 
#ifdef allow2A7B
char chartabl2A7B[72]="012345679abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ0";
#endif
 
unsigned int MD5magic[64]={
0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee,
0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501,
0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be,
0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821,
0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa,
0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8,
0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed,
0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a,
0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c,
0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70,
0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x4881d05,
0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665,
0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039,
0x655b59c3, 0x8f0ccc92, 0xffeff47d, 0x85845dd1,
0x6fa87e4f, 0xfe2ce6e0, 0xa3014314, 0x4e0811a1,
0xf7537e82, 0xbd3af235, 0x2ad7d2bb, 0xeb86d391};
 
unsigned char inData[23],outData[16];
char buf1output[32], buf1input[20];
char bug4;
 
void calcsuffix(char bfunc, char btype, char *outbuf);
 
void initData(void) {
	*(int *)(&outData[0]) =0x67452301;
	*(int *)(&outData[4]) =0xEFCDAB89;
	*(int *)(&outData[8]) =0x98BADCFE;
	*(int *)(&outData[12])=0x10325476;
}
 
typedef int (encfuncT1) (int num1, int num2, int num3);
 
#ifdef f595B
int enc0F2(int num1, int num2, int num3) {return (((~num3 ^ num2) & num1) ^ ~num3);}
int enc0F4(int num1, int num2, int num3) {return (( ~num2 ^ num1) ^ num3); }
int enc0F5(int num1, int num2, int num3) {return (( ~num1 | ~num3) ^ num2); }
#endif
int enc1F2(int num1, int num2, int num3) {return ((( num3 ^ num2) & num1) ^ num3);}
int enc1F4(int num1, int num2, int num3) {return (( num2 ^ num1) ^ num3); }
int enc1F5(int num1, int num2, int num3) {return (( num1 | ~num3) ^ num2); }
int encF3 (int num1, int num2, int num3) {return ((( num1 ^ num2) & num3) ^ num2);}
 
typedef int (encfuncT2)(encfuncT1 func, int num1, int num2, int num3, int key);
 
int enc1F1 (encfuncT1 func, int num1, int num2, int num3, int key)
{
	return func(num1,num2,num3)+key;
}
 
#ifdef f595B
int enc0F1 (encfuncT1 func, int num1, int num2, int num3, int key)
{
	return func(num1,num2,num3)-key;
}
#endif
 
unsigned int rol(unsigned int t, int bitsrot)
{
	return (t >> (32-bitsrot)) | (t << bitsrot);
}
 
void blockEncodeF(int *outdata, int *encblock, encfuncT2 func1,
                  encfuncT1 func2, encfuncT1 func3, encfuncT1 func4, encfuncT1 func5 )
{
	char S[4][4] = {{ 7, 12, 17, 22 },{ 5, 9, 14, 20 },{ 4, 11, 16, 23 },{ 6, 10, 15, 21 }};
	int A,B,C,D,t,i;
 
	A=outdata[0];
	B=outdata[1];
	C=outdata[2];
	D=outdata[3];
 
	for (i=0;i<64;i++) { 		t=MD5magic[i]; 		switch (i>>4) {
			case 0: t=A+func1(func2,B,C,D, t+encblock[(i) & 15]); break;
			case 1: t=A+func1(func3,B,C,D, t+encblock[(i*5+1) & 15]); break;
			case 2: t=A+func1(func4,B,C,D, t+encblock[(i*3+5) & 15]); break;
			case 3: t=A+func1(func5,B,C,D, t+encblock[(i*7) & 15]); break;
		}
		A=D; D=C; C=B; B+=rol(t,S[i>>4][i&3]);
	};
 
	outdata[0]+=A;
	outdata[1]+=B;
	outdata[2]+=C;
	outdata[3]+=D;
}
 
void blockEncode(char *outdata, int *encblock, char btype) {
	if (btype==tD35B)
		blockEncodeF((int *)outdata,encblock,enc1F1,enc1F2,encF3,enc1F4,enc1F5);
#ifdef f595B
	else
		blockEncodeF((int *)outdata,encblock,enc0F1,enc0F2,encF3,enc0F4,enc0F5);
#endif
}
 
void encode(char *inbuf,int cnt,char btype) {
	int encBlock[16];
	char *ptr;
	initData();
	memcpy(encBlock,inbuf,cnt);
	ptr=&((char *)encBlock)[cnt];
	*ptr++=0x80;
	memset(ptr,0,64-1-cnt);
	encBlock[16-2]=((unsigned int)cnt << 3);
	blockEncode(outData,encBlock,btype);
}
 
void psw(char bfunc, char btype, char *outbuf) {
	int cnt,i,lenpsw,r;
	if (bfunc==fHDDold) {
		memcpy(inData,buf1input,11);
//		calcsuffix(bfunc,btype,outbuf);
		for (cnt=0;cnt<8;cnt++) 			outbuf[cnt]= scancods[ outbuf[cnt] ]; 	} else { 		memset(inData,0,sizeof(inData)); 		if (bfunc==fSVCTAG) cnt=7; 		else cnt=11; 		if ((bfunc==fHDDSN) && (btype==tA95B)) 			memcpy(inData,&buf1input[3],cnt-3); 		else 			memcpy(inData,buf1input,cnt); 		if (btype==t595B) memcpy(&inData[cnt],&bSuffix[0],4); else 		if (btype==tD35B) memcpy(&inData[cnt],&bSuffix[4],4); else 		if (btype==tA95B) memcpy(&inData[cnt],&bSuffix[0],4); else 		if (btype==t2A7B) memcpy(&inData[cnt],&bSuffix[12],4); 		cnt += 4; 		inData[cnt] = inData[4] & 0x1F; 		inData[cnt+1] = ((inData[4] >> 5) | (((inData[3] >> 5) | (inData[3] << 3)) & 0xF1) & 0x1F); 		inData[cnt+2] = ((inData[3] >> 2) & 0x1F);
		inData[cnt+3] = (inData[3] >> 7) | ((inData[2] << 1) & 0x1F); 		inData[cnt+4] = (inData[2] >> 4) | ((inData[1] << 4) & 0x1F); 		inData[cnt+5] = (inData[1] >> 1) & 0x1F;
		inData[cnt+6] = (inData[1] >> 6) | ((inData[0] << 2) & 0x1F); 		inData[cnt+7] = (inData[0] >> 3) & 0x1F;
		for (i=cnt;i<8+cnt;i++) {
			r = 0xAA;
			if (inData[i] & 1)
				r ^= inData[4];
			if (inData[i] & 2)
				r ^= inData[3];
			if (inData[i] & 4)
				r ^= inData[2];
			if (inData[i] & 8)
				r ^= inData[1];
			if (inData[i] & 16)
				r ^= inData[0];
			inData[i] = encscans[r % sizeof(encscans)];
		}
		cnt = 23;
		encode(inData,cnt,btype);
		r = outData[0] % 9;
		lenpsw = 0;
		for (cnt=0;cnt<16;cnt++) {
			if ((r <= cnt) && (lenpsw<8)) { 				buf1output[lenpsw++] = scancods[encscans[outData[cnt] % sizeof(encscans)]]; 			} 		} 	} } int main(int argc, char *argv[]) { 	unsigned char len,len1,bfunc,eol=1,echo=0, *minus,s2[20]; 	signed char btype; int argn=0; 	if (argc>1)
		echo=1;
 
	if (!echo)
		fputs("" mystr "\n" \
		  "Short service tag should be right padded with '*' up to length 7 chars\n" \
		  "HDD serial number is right 11 chars from real HDDSerNum left padded with '*'\n" \
		  "Some BIOSes has left pad HDD serial number with spaces instead '*'\n",stdout);
 
	while (!feof(stdin)) {
		if ((argc<=1) && argn) break; 		fputs("Input: #",stdout); 		if (argc>1) {
			strncpy(buf1input,argv[++argn],sizeof(buf1input));argc--;
		}
		else {
			if (!eol) while (!feof(stdin) && (fgetc(stdin)!='\n')); eol=0;
			if (fgets(buf1input,16+1+1,stdin)==NULL) {
				if (echo) fputs("\n",stdout);
				break;
			}
		}
		len=strlen(buf1input);
		if (len && (buf1input[len-1]=='\n')) {len--;eol=1;buf1input[len]=0;}
		if (echo) {fputs(buf1input,stdout);fputs("\n",stdout);}
		minus=strchr(buf1input,'-');
		if (len==11) {
			if (minus!=NULL) {
				fputs("- Incorrect input\n",stdout);
				continue;
			}
			bfunc=fHDDold;
			fputs("By HDD serial number for older BIOS: ",stdout);
		} else {
			if (len==0) break;
			if (minus==NULL) {
				fputs("- No BIOS type found in input string, must be followed by -595B and other registered\n",stdout);
				continue;
			}
			len1=minus-(unsigned char*)buf1input;
 
			btype=-1;
#ifdef allow595B
			if (strncmp(&buf1input[len1+1],&bSuffix[0],4)==0) btype=t595B;
			else
#endif
			if (strncmp(&buf1input[len1+1],&bSuffix[4],4)==0) btype=tD35B;
			else
#ifdef allowA95B
			if (strncmp(&buf1input[len1+1],&bSuffix[8],4)==0) btype=tA95B;
			else
#endif
#ifdef allow2A7B
			if (strncmp(&buf1input[len1+1],&bSuffix[12],4)==0) btype=t2A7B;
#endif
			if (btype<0) {
				fputs("- Invalid service tag in input string, allowed only -D35B and other registered\n",stdout);
				continue;
			}
			struct tm *time1; time_t timer1=time(NULL);
			time1=gmtime(&timer1);
			strftime(s2,sizeof(s2),"%d.%m.%Y %H:%M",time1);
			fputs(s2,stdout);
			fputs(" DELL ",stdout);
 
			if (len1==7) {
				bfunc=fSVCTAG;
				fputs("service tag: ",stdout);
				fputs(buf1input,stdout);
			} else
			if (len1==11) {
				bfunc=fHDDSN;
				fputs("HDD serial number: ",stdout);
				fputs(buf1input,stdout);
			}
			else {
				fputs("- Incorrect input, must be 7 chars service tag or 11 chars HDD serial number\n",stdout);
				continue;
			}
		}
		psw(bfunc,btype,buf1output);
		fputs(" password: ",stdout);
		fputs(buf1output,stdout);
		if (bug4) fputs(" !bug4 warning - password may not work!",stdout);
 
		if (btype==t595B) if (bfunc==fSVCTAG) { //to check if A95B bug
			char mpw1[20];
			strcpy(mpw1,buf1output);
			psw(bfunc,tA95B,buf1output);
			if (strcmp(mpw1,buf1output)!=0) {
				fputs(" passwordA95B: ",stdout);
				fputs(buf1output,stdout);
			}
		}
		fputs("\n",stdout);
	}
	return 0;
}

Order of Execution

c

#include <stdio.h>

int main() {
   int a = 5;
   printf("%d%d%d", a++, a++, ++a);
}

mystring-funcs

c

#include <stdio.h>
void mystrcat(char *s,  char *t)
{

    while(*s)
    s++;
    
    while (*t)
    {
    *s = *t;
    s++;
    t++;
    }
    *s='\0';
    
}

int mystrlen(char *s)
{  
    int len=0;
    
    while(*s)
    {
    len++;
    s++;
    }
    return len;
}

char *mystrcpy(char dest[], const char src[])
{
    int i=0;
    while (src[i]!= '\0') {
        dest[i]=src[i];
        i++;
    }
    dest[i]= '\0';
    return dest;
    
}
int mystrcmp(const char *s1, const char *s2)
{
    while(*s1==*s2){
        if(*s1 == '\0') return 0;
        s1++; s2++;
    }
    return (*s1-*s2);
}
int myatoi(const char *str)
{
    int number =0;
    char *p= str;
    while((*p >= '0') && (*p <='9')){
        number = number*10 + (*p - '0');
        p++;
    }
    return number;
}
int main()
{
    char str1[20] = "Hello-";
    char str2[10] = "World";
    char str3[20];
    char str4[20] = "World";
    char str5[10] = "1998";
    int len=0;
    mystrcat(str1,str2);
    printf("concatinated string is %s \n", str1);
    len = mystrlen(str1);
    printf("length is %d \n", len);
    mystrcpy(str3,str2);
    printf("dest string is %s \n", str3);
    len = mystrcmp(str2,str4);
    if(len == 0)
    printf("strings are equal \n");
    else
    printf("strings are not equal , diff is %d \n",len);
    len = myatoi(str5);
    printf("atoi return value is %d \n", len);
    return 0;
}

Advertisements
Loading...

We use cookies to provide and improve our services. By using our site, you consent to our Cookies Policy.