LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 602|回复: 3

参数的数据类型不同怎么不出错??

[复制链接]
发表于 2004-3-28 20:21:17 | 显示全部楼层 |阅读模式

  1. #include <string.h>
  2. void* memccpy( void* dest,const void* src,int c,size_t cnt );

  3. #include <stdio.h>
  4. #include <string.h>
  5. #include <stdlib.h>
  6. char* msg = "This is the string: not copied";
  7. int main( void )
  8. {
  9.     char buffer[80];
  10.     memset( buffer, '\0', 80 );
  11.     memccpy( buffer, msg, ':', 80 );
  12.     printf( "%s\n", buffer );
  13.     return EXIT_SUCCESS;
  14. }
复制代码

memccpy的第三个参数应该是int 型的呀,怎么是":"呢???:confused: :confused: :confused:

还有个问题,\0是吧内存置空吧,那好象换行符也是这个哦??
发表于 2004-3-28 20:59:39 | 显示全部楼层
C语言的基础没学好,
':'的类型是char,在程序中char类型自动提升为int
'\0'是0,
换行是'\n',是0xA
 楼主| 发表于 2004-3-28 21:19:47 | 显示全部楼层
谢谢,那devel的程序这里的

  1. /*   or if(buf[0]=='\0') */
复制代码

这是从统计一个文本文件的行数的程序里抄来的。

\0我的理解是换行符。 ??
发表于 2004-3-29 00:01:32 | 显示全部楼层
不知道你是从那个程序抄的,没有上下文,
前几天她写的一个程序是写错了,应该是'\n'
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表