主题:[原创]最后一个帖子
windy0will
[专家分:2300] 发布于 2010-07-09 14:36:00
最后更新于:2010-07-10 11:57:00
回复列表 (共12个回复)
11 楼
雪光风剑 [专家分:27190] 发布于 2010-07-10 09:19:00
TC没希望了
VC++6.0不打算试了,VS2005以后的应该都可以了
lz的代码不就是老谭犯的tc错误么,哈哈
12 楼
windy0will [专家分:2300] 发布于 2010-07-10 11:46:00
[quote]TC没希望了
VC++6.0不打算试了,VS2005以后的应该都可以了
lz的代码不就是老谭犯的tc错误么,哈哈[/quote]
我自己觉得 当V等于1的时候,应该是符合标准的。下面我在说明一次 :
[code=c]
1. char *p = "123456" ;那么p所指向的是 专门存储常量的空间,这块区域是只读,不能写的。像这样 的代码会引起错误 : p[0] = 'a' ;
2. char *p = ( char[] ){ "123456" };p所指向的区域和普通的变量差不多,能读能写。 因此 这样是对的 : p[0] = 'A' ;
3. 复合字面值的作用域有点特殊,自己可以搜索信息。有时候在赋值的时候不能用for等循环语句,要用goto语句;
4. 复合字面值在结构,联合等类型用起来特别方便。
5. 看下面一个函数(计算7以内的平方):
int ( fun )( int n )
{
return ( n<0 || n>7 ) ? -1 :
( const int[] ){0,1,4,9,16,25,36,49 }[n] ;
}
[/code]
我来回复