免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 8547 | 回复: 26
打印 上一主题 下一主题

C语言switch(表达式)问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-10-06 14:14 |只看该作者 |倒序浏览
我想知道switch后面的表达式到底是什么?顺便发下我自己做的题目和我的编程,有一个错误,请大家指教下,谢谢
内容
000mA 253mA 253mA 129mA 254mA 254mA 253mA 253mA 129mA 253mA 129mA 129mA
135mA 225mA 225mA 193mA 128mA 135mA 225mA 225mA 193mA 225mA 193mA 193mA
000mA 000mA 000mA 000mA 000mA 000mA 000mA ...

改成下面模式:
哎呀,反正就是把mA换成空格存到新的文件中就行了。
000mA 253mA 253mA 129mA 254mA 254mA 253mA 253mA 129mA 253mA 129mA 129mA
135mA 225mA 225mA 193mA 128mA 135mA 225mA 225mA 193mA 225mA 193mA 193mA
000mA 000mA 000mA 000mA 000mA 000mA 000mA ...


我的编程:
#include  "stdio.h"
#include  "stdlib.h"
main()
{
FILE *fp1,*fp2;
char a[72][8];
if((fp1=fopen("d:\\file3.txt","r")==NULL)
   {
    cputs("can not open the file\n";
    fclose(fp1);
   }
  fp2=fopen("d:\\file4.txt","w";
  while(fgets(a,72,fp1)!=NULL)
  switch(char)
        {
         case"%d": printf(a);break;
         case"%c": printf( );break;
         default:printf("error\n";
        }
fclose(fp2);
return;
}

论坛徽章:
0
2 [报告]
发表于 2008-10-06 14:27 |只看该作者
有问题:
case"%d"
case"%c"

switch语句中,case后面的应该是个确认的标志值吧
例如:
switch(isalpha(i))/*判断是否为字母*/
{
case 0:printf("%c is not a char\n",i);break;/*不是字母*/
default:printf("%c ifs a char\n",i);break;/*为字母*/
}

论坛徽章:
0
3 [报告]
发表于 2008-10-06 14:38 |只看该作者

回复 #2 ast_224 的帖子

哥们,能帮我把他弄好不?内容就在上面

论坛徽章:
0
4 [报告]
发表于 2008-10-06 16:51 |只看该作者
谁能帮我把变成空格的文件在这个程序中把他存到文件2中

论坛徽章:
0
5 [报告]
发表于 2008-10-06 17:00 |只看该作者
if(ch>'0'&&ch<='9')

论坛徽章:
0
6 [报告]
发表于 2008-10-06 17:07 |只看该作者
#include  "stdio.h"
#include  "stdlib.h"
main()
{
FILE *fp1,*fp2;
char a[72];
char i;
if((fp1=fopen("d:\\file3.txt","r")==NULL)
   {
    cputs("can not open the file\n";
    fclose(fp1);
   }
  fp2=fopen("d:\\file4.txt","w";
  while(fgets(a,72,fp1)!=NULL)
   for(i=0;i<=70;i++)
   if(a==109||a==65)
   {
   fprintf(fp2,"\b");
   fprintf(fp2;"%c"a);
   }
fclose(fp2);
return;
}

[ 本帖最后由 〖☆缘分☆〗 于 2008-10-6 17:13 编辑 ]

论坛徽章:
0
7 [报告]
发表于 2008-10-06 17:28 |只看该作者

回复 #6 〖☆缘分☆〗 的帖子

你的帖子错了,达不到效果。

论坛徽章:
0
8 [报告]
发表于 2008-10-06 17:29 |只看该作者
case"%d": printf(a);break;可以这样写?

论坛徽章:
0
9 [报告]
发表于 2008-10-06 17:37 |只看该作者
#include  "stdio.h"
#include  "stdlib.h"
main()
{
FILE *fp1,*fp2;
char a[80];
char i;
if((fp1=fopen("d:\\file3.txt","r")==NULL))
   {
    cputs("can not open the file\n");
    fclose(fp1);
   }
  fp2=(fopen("d:\\file4.txt","w"));
  while(fgets(a,72,fp1)!=NULL)
   for(i=0;i<=70;i++)
   if(i>='0'&&i<='9')
   {
   fprintf(fp2;"%c"a);
   }
fclose(fp2);
return;
}

[ 本帖最后由 〖☆缘分☆〗 于 2008-10-6 17:39 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2008-10-06 17:37 |只看该作者
原帖由 hijohnny 于 2008-10-6 17:29 发表
case"%d": printf(a);break;可以这样写?

原来不知道该怎么用,现在知道了,还是不会用,哎,人笨没办法啊。请各位大侠帮忙拉。 :em02: :em02: :em02: :em02: :em02:
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP