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]
Æäʵ¾ÍÊDZäÁ¿
i,
ͨ¹ýµ÷ÊÔÎÒÃÇ¿ÉÒÔÖªµÀ£¬ÕâÁ½¸ö±äÁ¿Ö¸ÏòµØÖ·ÊÇÍêÈ«ÏàͬµÄ¡£ÔÚº¯ÊýΪ¾Ö²¿±äÁ¿ÔÚÕ»ÖÐÉêÇë¿Õ¼äµÄʱºò£¬
i
ÔÚ
name
Ç°ÃæÉêÇ룬
i
¾ÍÔÚ
name
µÄºóÃæ£¬ËùÒÔÒªÏÈÏò¸ßµØÖ·Ð´ÈëÊý¾Ý£¬
i
Óë
name
Êý×éÊÇÁ¬ÐøÅÅÁеģ¬ËùÒÔ
”name[10]= 0”
Õâ¾äÆäʵ¾ÍÊÇ
”i = 0”
¡£
zz from http://blog.csdn.net/DrZinc/archive/2009/11/21/4848661.aspx
Ïà¹ØÎĵµ£º
Ò»¸ö¶¨ÒåΪvolatileµÄ±äÁ¿ÊÇ˵Õâ±äÁ¿¿ÉÄܻᱻÒâÏë²»µ½µØ¸Ä±ä£¬ÕâÑù£¬±àÒëÆ÷¾Í²»»áÈ¥¼ÙÉèÕâ¸ö±äÁ¿µÄÖµÁË¡£¾«È·µØËµ¾ÍÊÇ£¬ÓÅ»¯Æ÷ÔÚÓõ½Õâ¸ö±äÁ¿Ê±±ØÐëÿ´Î¶¼Ð¡ÐĵØÖØÐ¶ÁÈ¡Õâ¸ö±äÁ¿µÄÖµ£¬¶ø²»ÊÇʹÓñ£´æÔڼĴæÆ÷ÀïµÄ±¸·Ý¡£ÏÂÃæÊÇvolatile±äÁ¿µÄ¼¸¸öÀý×Ó£º
1). ²¢ÐÐÉ豸µÄÓ²¼þ¼Ä´æÆ÷£¨È磺״̬¼Ä´æÆ ......
C³ÌÐòÊÇÓÉÒ»×é»òÊDZäÁ¿»òÊǺ¯ÊýµÄÍⲿ¶ÔÏó×é³ÉµÄ¡£ º¯ÊýÊÇÒ»¸ö×ÔÎÒ°üº¬µÄÍê³ÉÒ»¶¨Ïà¹Ø¹¦ÄܵÄÖ´ÐдúÂë¶Î¡£ÏÂÃæÐ¡±àºÍ´ó¼Ò·ÖÏíÏÂCÓïÑÔÖеĺ¯Êý¡£
1. fgetcº¯Êý
fgetcº¯ÊýµÄ¹¦ÄÜÊÇ´ÓÁ÷ÖжÁÈ¡×Ö·û£¬ÆäÓ÷¨ÊÇ£ºint fgetc(FILE *stream); ³ÌÐòÀý×ÓÈçÏ£º
#include <string.h ......
#ifndef _PPC_BOOT_STRING_H_
#define _PPC_BOOT_STRING_H_
#include <stddef.h>
extern char *strcpy(char *dest, const char *src);
extern char *strncpy(char *dest, const char *src, size_t n);
extern char *strcat(char *dest, const char *src);
extern int strcmp(const char *s1, const cha ......
¡¡¡¡ÉñºõÆä¼¼£¬Î©C³ÌÐò£¬¹¦µ½×Գɣ¬Ê®´ó½¨Ò飡
¡¡¡¡1¡¢ÈêӦƵ·±´ß¶¯lint¹¤¾ß£¬¾ÝÆäÓï·¨ÉùÃ÷ÐÞϰÄÚÁ¦£¬´ËʽÔÒòlint֮˼ÂǾö¶ÏʵԶÔÚ¾ýÉÏ¡£
¡¡¡¡
¡¡¡¡2¡¢²»¿ÉÒÀËæNULLÖ¸Õ룬ÈçÈô²»È»£¬»ìãç³Õµß±ØÙ¹¾ýÓڱ˰¶¡£
¡¡¡¡
¡¡¡¡3¡¢×ÝÓÐÌ츳´óÖǻۣ¬ÖªÏþÆäÊÂÎÞ°£¬ÈêÒ൱¾¡ÊýÇ¿ÖÆÅ²ÒÆº¯Êý²ÎÊýΪÔÐÍËùÆÚÖ®Êý¾ÝÀàÐÍ£¬ÒÔÃâÒ» ......