本文共 4814 字,大约阅读时间需要 16 分钟。
#includeint binsearch(int x,int v[],int n){ int low = 0; int high = n-1; int mid; while(low
void escape(char s[],char t[]){ int i,j; for(i=0,j=0;t[i]!='\0';i++){ switch(t[i]){ case '\n': s[j++]='\\'; s[j++]='n'; break; case '\t': s[j++]='\\'; s[j++]='t'; break; case '\v': s[j++]='\\'; s[j++]='v'; break; case '\b': s[j++]='\\'; s[j++]='b'; break; case '\r': s[j++]='\\'; s[j++]='r'; break; case '\f': s[j++]='\\'; s[j++]='f'; break; case '\a': s[j++]='\\'; s[j++]='a'; break; case '\?': s[j++]='\\'; s[j++]='\?'; break; case '\'': s[j++]='\\'; s[j++]='\''; break; case '\"': s[j++]='\\'; s[j++]='\"'; break; default: s[j++]=t[i]; break; } } s[j]='\0';}void unescape(char s[],char t[]){ int i,j; for(i=0,j=0;t[i]!='\0';i++){ if(t[i]=='\\'){ switch(t[++i]){ case 'n': s[j++]='\n'; break; case 't': s[j++]='\t'; break; case 'v': s[j++]='\v'; break; case 'b': s[j++]='\b'; break; case 'r': s[j++]='\r'; break; case 'f': s[j++]='\f'; break; case 'a': s[j++]='\a'; break; case '\\': s[j++]='\\'; break; case '\?': s[j++]='\?'; break; case '\'': s[j++]='\''; break; case '\"': s[j++]='\"'; break; default: s[j++]='\\'; --i; break; } }else{ s[j++]=t[i]; } } s[j] = '\0';}
//buggy!#include#define MAXLINE 1024int getchars(char s[],int lim){ int c,i,l; for(i=0,l=0;(c=getchar())!=EOF;i++){ if(i
#include#include #define MAXLINE 1024void itoa(int n, char s[]){ int i, sign, remainder; sign = n; i = 0; do { remainder = n % 10; s[i++] = ((sign < 0) ? -remainder : remainder) + '0'; } while (n /= 10); if (sign < 0) s[i++] = '-'; s[i] = '\0'; reverse(s);}void reverse(char s[]){ int i, j; int tmp; for (j = 0; s[j] != '\0'; ++j) ; --j; for (i = 0; i < j; ++i, --j) { tmp = s[i]; s[i] = s[j]; s[j] = tmp; }}int main(){ char s[MAXLINE]; itoa(INT_MIN,s); printf("%d ---> %s\n",INT_MIN,s);}
#include#include #define MAXLINE 1024void reverse(char s[]){ int i, j; int tmp; for (j = 0; s[j] != '\0'; ++j) ; --j; for (i = 0; i < j; ++i, --j) { tmp = s[i]; s[i] = s[j]; s[j] = tmp; }}void itob(int n, char s[], int b){ int i, sign, remainder; if (b < 2 || b > 36) return; sign = n; i = 0; do { remainder = n % b; s[i++] = ((sign < 0) ? -remainder : remainder) + '0'; } while (n /= b); if (sign < 0) s[i++] = '-'; s[i] = '\0'; reverse(s);}int main(){ char s[MAXLINE]; itob(INT_MIN,s,8); printf("%d ---> %s",INT_MIN,s);}
#include#include #define MAXLINE 1024void reverse(char s[]){ int i, j; int tmp; for (j = 0; s[j] != '\0'; ++j) ; --j; for (i = 0; i < j; ++i, --j) { tmp = s[i]; s[i] = s[j]; s[j] = tmp; }}void itoa(int n, char s[], int w){ int i, sign, remainder, k, j; sign = n; i = 0; do { remainder = n % 10; s[i++] = ((sign < 0) ? -remainder : remainder) + '0'; } while (n /= 10); if (sign < 0) s[i++] = '-'; while (i < w) s[i++] = ' '; s[i] = '\0'; reverse(s);}int main(){ char s[MAXLINE]; int width = 14; itoa(INT_MIN,s,width); printf("%12d ---> %s\n",INT_MIN,s);}
转载地址:http://sfwai.baihongyu.com/