Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ : c

Hidden Tricks (C)(091121)

 ÇëÔËÐÐÏÂÃæµÄ´úÂ룬¹Û²ì½á¹û£¬ÓÐÈË˵ÔõôÊÇËÀÑ­»·£¬ÄãͬÒâÂð£¿ÎªÊ²Ã´£¿
 
#include
 <stdio.h>
int
 main()
{
  int
 i = 0;
  int
 name[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
  for
 (i = 0; i <= 10; i++)
  {
    name[i] = 0;
    printf("ok\n"
);
  }
  return
 0;
}
 
Õâ¶Î´úÂëÒ»¿ªÊ¼ÎÒ»¹ÒÔΪÊÇС¶ù¿Æ£¬Ò»¸öºÜɵ±ÆµÄ´úÂ룬ÍêÈ«²»ÈÏΪ»áÊÇËÀÑ­»·

ºóÀ´ÊÂʵ֤Ã÷£¬ÊÇÎÒ×Ô¼ºÉµ±ÆÁË£¬ºÃÁË£¬²»¶à˵ÁË£¬ÏÖÔÚ½ÒÏþ´ð°¸ÁË¡£
 
´ð°¸£º
Õâ¶Î³ÌÐò»á½øÈëËÀÑ­»·£¬µ±
i
Ñ­»·µ½
10
µÄʱºò£¬±íÃæÉÏ¿´ÉÏÈ¥
”name[10]= 0”
Õâ¾ä²Ù×÷ÊÇ»áÔÚÔ¤ÁÏÖ®ÍâµÄ£¬ÒòΪÊý×éÖеÄÊ®¸öÊý×ÖµÄ×îºóÒ»¸öÊÇ
name[9],
µ«¾ÍÕâ×îºóÄǾä²Ù×÷µÄʱºò£¬ÉñÆæµÄÊÂÇé·¢ÉúÁË£¬³ÌÐò·¢ÉúÁËËÀÑ­»·£¬
i
ÉñÆæµÄÓÖ±»ÖóÉÁË
0.
ÆäʵµÀÀíºÜ¼òµ¥£¬ÒòΪ
name[10]
Æäʵ¾ ......

C/C++Èí¼þ¹¤³Ìʦ¾ÍÒµÇóÖ°ÊÖ²á½ÚÑ¡¶þ

 5¡¢#defineºê¶¨Òå¡£ºêÖ»ÊǼòµ¥µÄÎı¾Ìæ»»£¬ºÜÈÝÒ×ÒýÆðÆçÒå¡£
#include <stdio.h>
#define CONS(a,b) (int)(a##e##b)
#define STR(s) #s
int main()
{
   printf(STR(vck));
   printf("\n");
   printf("%d\n",CONS(2,3));
   return 0;
}
ÔÚ±¾³ÌÐòÖУ¬Ê¹ÓÃ#½«ºê²ÎÊý±äΪһ¸ö×Ö·û´®£¬ÓÃ##°ÑÁ½¸öºê²ÎÊýÌùºÏÔÚÒ»Æð£¬½á¹ûΪ£º
vck
2000
6¡¢ºê¶¨ÒåµÃµ½×ֵĸßλºÍµÍλ×Ö½Ú
#define WORD_LO(xxx)  ((byte)((word)(xxx)&255))
#define WORD_HI(xxx)  ((byte)((word)(xxx)>>8))
7¡¢constÓë#defineµÄ¸ö×ÓÌØµãÓëÇø±ð
#defineÖ»ÊÇÓÃÀ´×öÎı¾Ìæ»»£¬ÄÇô£¬µ±³ÌÐò½øÐбàÒëµÄʱºò£¬±àÒëÆ÷Ê×ÏȻὫ“#define PI 3.1415826”ÒÔºóËùÓдúÂëÖеÄPIÈ«²¿»»³É“3.1415826”È»ºóÔÙ½øÐбàÒë¡£ÒòΪ#define³¤ÁËÉúÃüÖÜÖÁÓÚ±àÒëÆÚ£¬Ëü´æÔÚÓÚ³ÌÐòµÄ ´úÂë¶Î£¬ÔÚʵ¼Ê³ÌÐòÖУ¬ËüÖ»ÊÇÒ»¸ö³£Êý£¬Ò»¸öÃüÁîÖеIJÎÊý£¬²¢Ã»ÓÐʱ¼äµÄ´æÔÚ¡£
const³£Á¿´æÔÚÓÚ³ÌÐòµÄÊý¾Ý¶ÎÖУ¬²¢ÔÚ¶ÑÕ»ÖзÖÅäÁ˿ռ䣬const³£Á¿ÊÇÒ»¸öRun-timeµÄ¸ÅÄËüÔÚ³ÌÐòÖÐȷȷʵʵ´æÔÚ×Ų¢¿ÉÒÔ±»µ÷Ó㬴«µÝ¡£ ......

C/C++Èí¼þ¹¤³Ìʦ¾ÍÒµÇóÖ°ÊÖ²á½ÚÑ¡¶þ

 5¡¢#defineºê¶¨Òå¡£ºêÖ»ÊǼòµ¥µÄÎı¾Ìæ»»£¬ºÜÈÝÒ×ÒýÆðÆçÒå¡£
#include <stdio.h>
#define CONS(a,b) (int)(a##e##b)
#define STR(s) #s
int main()
{
   printf(STR(vck));
   printf("\n");
   printf("%d\n",CONS(2,3));
   return 0;
}
ÔÚ±¾³ÌÐòÖУ¬Ê¹ÓÃ#½«ºê²ÎÊý±äΪһ¸ö×Ö·û´®£¬ÓÃ##°ÑÁ½¸öºê²ÎÊýÌùºÏÔÚÒ»Æð£¬½á¹ûΪ£º
vck
2000
6¡¢ºê¶¨ÒåµÃµ½×ֵĸßλºÍµÍλ×Ö½Ú
#define WORD_LO(xxx)  ((byte)((word)(xxx)&255))
#define WORD_HI(xxx)  ((byte)((word)(xxx)>>8))
7¡¢constÓë#defineµÄ¸ö×ÓÌØµãÓëÇø±ð
#defineÖ»ÊÇÓÃÀ´×öÎı¾Ìæ»»£¬ÄÇô£¬µ±³ÌÐò½øÐбàÒëµÄʱºò£¬±àÒëÆ÷Ê×ÏȻὫ“#define PI 3.1415826”ÒÔºóËùÓдúÂëÖеÄPIÈ«²¿»»³É“3.1415826”È»ºóÔÙ½øÐбàÒë¡£ÒòΪ#define³¤ÁËÉúÃüÖÜÖÁÓÚ±àÒëÆÚ£¬Ëü´æÔÚÓÚ³ÌÐòµÄ ´úÂë¶Î£¬ÔÚʵ¼Ê³ÌÐòÖУ¬ËüÖ»ÊÇÒ»¸ö³£Êý£¬Ò»¸öÃüÁîÖеIJÎÊý£¬²¢Ã»ÓÐʱ¼äµÄ´æÔÚ¡£
const³£Á¿´æÔÚÓÚ³ÌÐòµÄÊý¾Ý¶ÎÖУ¬²¢ÔÚ¶ÑÕ»ÖзÖÅäÁ˿ռ䣬const³£Á¿ÊÇÒ»¸öRun-timeµÄ¸ÅÄËüÔÚ³ÌÐòÖÐȷȷʵʵ´æÔÚ×Ų¢¿ÉÒÔ±»µ÷Ó㬴«µÝ¡£ ......

ÓÃCдµÄ¶ÁÈ¡´úÂëÐÐÊý¡£

½ñÌìÎÞÊ£¬ÔÚÂÛ̳ÉÏÒ»Ö±¿´Ìù×Ó£¬ºÜÉÙ¶¯ÊÖʵ¼ù£¬½ñÌìÊÔ×ÅдÁËÒ»¸ö¶ÁȡԴ³ÌÐò´úÂëÐÐÊýµÄÀý×Ó£º
ÏÖÔڵĴúÂëÈçÏ£¬¿ÉÄÜ»¹Óв»ÍêÉÆµÄµØ·½£¬ÒÔºóÔٸĽø£º
#include <stdio.h>
#define CHARCOUNT 255
#define CON 6 /*µ¥ÐÐ×¢ÊÍ×îÉÙµÄʱºò*/
int realLength = 0;
/*
* function name: strCount
* function : count line number
* created by : lsl
*/
int strCount(int from, char * str)
{
int length = strlen(str), i = 0;
int realCount = length-2-from;
for(i = length-3; str[i]==' ' || str[i] ==' '; i--)
{
realCount--;
}
realLength = realCount;
return realLength;
}
int main(int argc, char *argv[])
{
FILE *fPtr = fopen("tt.c","r");
char buffer[CHARCOUNT];
int lineCount = 0,i=0,j=0,k=0,bufferLen = 0;
int moutLineComment = 0;
if(NULL == fPtr)
{
printf("file open error!\n");
exit(0);
}
while(NULL != fgets(buffer,CHARCOUNT,fPtr))
{
//Èç¹ûÖ»°üº¬Ò»Éϻسµ begin
if(13 == buffer[0] && 10 == buffer[1])
{
//printf("% ......

C/C++——С±à̸CÓïÑÔº¯ÊýÄÇЩÊÂ(12)

C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1.       ldexpº¯Êý
ldexpº¯ÊýµÄ¹¦ÄÜÊǼÆËãvalue*2µÄÃÝ£¬ÆäÓ÷¨Îª£ºdouble ldexp(double value, int exp);³ÌÐòʵÀýÈçÏ£º
    #include <stdio.h>
#include <math.h>
int main(void)
{
     double value;
     double x = 2;
     value = ldexp(x,3);
     printf("The ldexp value is: %lf\n",value);
     return 0;
}
2.       lfindº¯Êý
lfindº¯ÊýµÄ¹¦ÄÜÊÇÖ´ÐÐÏßÐÔËÑË÷£¬ÆäÓ÷¨Îª£ºvoid *lfind(void *key, void *base, int *nelem, int width,int (*fcmp)());   ³ÌÐòʵÀý´úÂëÈçÏ£º
#include <stdio.h>
#include <stdlib.h>
int compare(int *x, int *y)
{
     return( *x - *y );
}
int main(void)
{
   int array[5] = {35, 87, 46, 99, 12} ......

C/C++——С±à̸CÓïÑÔº¯ÊýÄÇЩÊÂ(12)

C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1.       ldexpº¯Êý
ldexpº¯ÊýµÄ¹¦ÄÜÊǼÆËãvalue*2µÄÃÝ£¬ÆäÓ÷¨Îª£ºdouble ldexp(double value, int exp);³ÌÐòʵÀýÈçÏ£º
    #include <stdio.h>
#include <math.h>
int main(void)
{
     double value;
     double x = 2;
     value = ldexp(x,3);
     printf("The ldexp value is: %lf\n",value);
     return 0;
}
2.       lfindº¯Êý
lfindº¯ÊýµÄ¹¦ÄÜÊÇÖ´ÐÐÏßÐÔËÑË÷£¬ÆäÓ÷¨Îª£ºvoid *lfind(void *key, void *base, int *nelem, int width,int (*fcmp)());   ³ÌÐòʵÀý´úÂëÈçÏ£º
#include <stdio.h>
#include <stdlib.h>
int compare(int *x, int *y)
{
     return( *x - *y );
}
int main(void)
{
   int array[5] = {35, 87, 46, 99, 12} ......

C/C++——С±à̸CÓïÑÔº¯ÊýÄÇЩÊÂ(13)

C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1.       mallocº¯Êý
mallocº¯ÊýµÄ¹¦ÄÜÊÇÄÚ´æ·ÖÅ亯Êý£¬ÆäÓ÷¨Îª£ºvoid *malloc(unsigned size);³ÌÐòʵÀýÈçÏ£º
#include <stdio.h>
#include <string.h>
#include <alloc.h>
#include <process.h>
int main(void)
{
   char *str;
      if ((str = malloc(10)) == NULL)
   {
      printf("Not enough memory to allocate buffer\n");
      exit(1);  /* terminate program if out of memory */
   }
    strcpy(str, "Hello");
    printf("String is %s\n", str);
    free(str);
    return 0;
}
 
2.      memchrº¯Êý
memchrº¯ÊýµÄ¹¦ÄÜÊÇÔÚÊý×éµÄǰn¸ö×Ö½ÚÖÐËÑË÷×Ö·û£¬ÆäÓ÷¨Îª£ºvoid *memchr(void *s, char ch, unsigned n);& ......

C/C++——С±à̸CÓïÑÔº¯ÊýÄÇЩÊÂ(13)

C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1.       mallocº¯Êý
mallocº¯ÊýµÄ¹¦ÄÜÊÇÄÚ´æ·ÖÅ亯Êý£¬ÆäÓ÷¨Îª£ºvoid *malloc(unsigned size);³ÌÐòʵÀýÈçÏ£º
#include <stdio.h>
#include <string.h>
#include <alloc.h>
#include <process.h>
int main(void)
{
   char *str;
      if ((str = malloc(10)) == NULL)
   {
      printf("Not enough memory to allocate buffer\n");
      exit(1);  /* terminate program if out of memory */
   }
    strcpy(str, "Hello");
    printf("String is %s\n", str);
    free(str);
    return 0;
}
 
2.      memchrº¯Êý
memchrº¯ÊýµÄ¹¦ÄÜÊÇÔÚÊý×éµÄǰn¸ö×Ö½ÚÖÐËÑË÷×Ö·û£¬ÆäÓ÷¨Îª£ºvoid *memchr(void *s, char ch, unsigned n);& ......

C/C++——С±à̸CÓïÑÔº¯ÊýÄÇЩÊÂ(14)

C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
 
1.       normvideoº¯Êý
 
mallocº¯ÊýµÄ¹¦ÄÜÊÇÑ¡ÔñÕý³£ÁÁ¶È×Ö·û£¬ÆäÓ÷¨Îª£ºvoid normvideo(void);³ÌÐòʵÀýÈçÏ£º
#include <conio.h>
int main(void)
{
   normvideo();
   cprintf("NORMAL Intensity Text\r\n");
   return 0;
}
 
2.      openº¯Êý
 
openº¯ÊýµÄ¹¦ÄÜÊÇ´ò¿ªÒ»¸öÎļþÓÃÓÚ¶Á»òд£¬ÆäÓ÷¨Îª£ºint open(char *pathname, int access[, int permiss]);  ³ÌÐòʵÀý´úÂëÈçÏ£º
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
int main(void)
{
   int handle;
   char msg[] = "Hello world";
   if ((handle = open("TEST.$$$", O_CREAT | O_TEXT)) == -1)
   {
      perror("Error:");
      return 1;
  ......

C/C++——С±à̸CÓïÑÔº¯ÊýÄÇЩÊÂ(14)

C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
 
1.       normvideoº¯Êý
 
mallocº¯ÊýµÄ¹¦ÄÜÊÇÑ¡ÔñÕý³£ÁÁ¶È×Ö·û£¬ÆäÓ÷¨Îª£ºvoid normvideo(void);³ÌÐòʵÀýÈçÏ£º
#include <conio.h>
int main(void)
{
   normvideo();
   cprintf("NORMAL Intensity Text\r\n");
   return 0;
}
 
2.      openº¯Êý
 
openº¯ÊýµÄ¹¦ÄÜÊÇ´ò¿ªÒ»¸öÎļþÓÃÓÚ¶Á»òд£¬ÆäÓ÷¨Îª£ºint open(char *pathname, int access[, int permiss]);  ³ÌÐòʵÀý´úÂëÈçÏ£º
#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>
int main(void)
{
   int handle;
   char msg[] = "Hello world";
   if ((handle = open("TEST.$$$", O_CREAT | O_TEXT)) == -1)
   {
      perror("Error:");
      return 1;
  ......
×ܼǼÊý:2015; ×ÜÒ³Êý:336; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [238] [239] [240] [241] 242 [243] [244] [245] [246] [247]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ