zoukankan      html  css  js  c++  java
  • c基础总结

    机器大小端判断:

     1 #include <stdio.h>
     2 
     3 typedef union{
     4     char x;
     5     int  i;  
     6 }un;
     7 
     8 int main()
     9 {
    10     un tt; 
    11     tt.i = 1;
    12 
    13     if(tt.x == 1)
    14     {   
    15         printf("little-endian !
    ");
    16     }   
    17     else
    18     {   
    19         printf("big-endian !
    ");
    20     }   
    21     printf("tt.x = %d
    ", tt.x);
    22     return 0;
    23 }

    实现atoi() , itoa()

     1 #include <stdio.h>
     2 
     3 int my_atoi(char *s)
     4 {
     5     int sign = 1, num = 0;
     6     switch(*s)
     7     {
     8         case '-':
     9             sign = -1;
    10             s++;
    11             break;
    12         case '+':
    13             s++;
    14             break;
    15         default:
    16             break;
    17     }
    18 
    19     while((*s)!='')
    20     {
    21         num = num*10 + (*s-'0');
    22         s++;
    23     }
    24 
    25     return num*sign;
    26 }
    27 void itoa(int value, char *str)
    28 {
    29     int i, j;
    30     char tmp = 0;
    31     if(value<0)
    32     {
    33         str[0] = '-';
    34         value = 0-value;
    35     }
    36 
    37     //在这里已经被逆序了;
    38     for(i=1;value>0;i++,value/=10)
    39     {
    40         str[i] = value%10 + '0';
    41     }
    42     //数组再逆序一次
    43     for(j=i,i=1;i<=j/2;i++)
    44     {
    45      str[i] = str[i]+str[j-i];
    46      str[j-i] = str[i]-str[j-i];
    47      str[i] = str[i] - str[j-i];
    48         /*
    49          tmp = str[i];
    50         str[i] = str[j-i];
    51         str[j-i] = tmp;
    52    */
    53 
    54      }
    55 /*
    56     for(j=i-1,i=1; j-i>=1; j--,i++) //将数字字符反序存放
    57     {
    58         str[i] = str[i]^str[j];
    59         str[j] = str[i]^str[j];
    60         str[i] = str[i]^str[j];
    61     }
    62 */
    63     if(str[0] != '-') //如果不是负数,则需要把数字字符下标左移一位,即减1
    64     {
    65         for(i=0; str[i+1]!=''; i++)
    66             str[i] = str[i+1];
    67         str[i] = '';
    68     }
    69 
    70 }
    71 
    72 void main()
    73 {
    74     int value = -1212345;
    75     char str[10] = {''}; //记得把str全填充为''
    76 
    77     itoa(value, str);
    78     printf("The result is:%s
    ", str);
    79 } 

  • 相关阅读:
    Shell脚本定期清空大于1G的日志文件
    Shell脚本实现监视指定进程的运行状态
    Shell脚本实现根据文件的修改时间来分类文件
    通过Shell统计PV和UV
    Python之Html解析方法
    Http请求的Python实现
    Python数据可视化之Pygal(雷达图)
    Python数据可视化之Matplotlib(饼图)
    Python数据可视化之Matplotlib(折线图)
    控制台超市系统(Python)
  • 原文地址:https://www.cnblogs.com/chris-cp/p/3863122.html
Copyright © 2011-2022 走看看