|
我写了一段RLE的代码。。功能就是。。输入一段字符串。。。在这些字符串中凡是重复次数超过3的就用N¥T其中N表示重复次数。¥表示控制符代表这里是重复了的。T表示被重复的字符。其他的都直接输出。
代码如下。
#include <stdio.h>
#include <string.h>
void main()
{
char code[100];
int repcount=0,i,j ;
printf("please input the code:\n");
scanf("%100s",code);
puts(code);
for(i=0;code[i]!='\0';i++)
{
if(code[i]!=code[i+1]&&repcount<1)
printf("%c",&code[i]);
else
{
if(code[i]==code[i+1])
repcount++;
else
{
if(repcount>=4)
{
printf("%d$%c",&repcount,&code[i]);
repcount=0 ;
}
else
{
for(j=0;j<repcount;j++)
printf("%c",&code[i]);
repcount=0 ;
}
}
}
}
getch();
}
编译后。。运行。。得到的结果都是乱码。。
我直接用FOR控制。。把数组code 中的每个元素直接输出。发现也是乱码。。这就说明我用PRINTF 输出是有问题的。。而我用puts(code)却是可以正常输出的。。。有人告诉我是什么回事么。。
另外我要写一个 VFW(VIDEO FOR WINDOWS)下的视频显示程序。。我这里有参考代码。。但是我不知道在C中使用。。有没有人告诉我一下。在C中怎么样用API 新手,没有WINDOWS下编程经验。。望各位前辈指点一二。 |
|