C语言编程,请问我的程序哪里错了……

[复制链接]
查看11 | 回复5 | 2012-1-18 21:54:46 | 显示全部楼层 |阅读模式
源程序中for(i=0;i<8;i++)scanf("%c",&a);scanf要调用8次,也就是说只有调用8次scanf才可以执行下一条语句,因此你给的测试数据不是八个字符一组,所以出现问题,可以进行如下改进:#include "stdio.h"int main(){int i,count=0;char a[8],b[8];/*for(i=0;i<8;i++)scanf("%c",&a);for(i=0;i<8;i++)scanf("%c",&b);for(i=0;i<8;i++)if(a!=b)count++;printf("%d\n",count);*/s...
回复

使用道具 举报

千问 | 2012-1-18 21:54:46 | 显示全部楼层
count的打印应该放在for循环的外面,否则for循环没执行一次,都要打一次count,修改见下面,楼主再执行一次试试,窗口输入:a,b,c,d,e,f,ga,b,c,c,c,c,c回车-------------------#include "stdio.h"void main(){int i,count=0;char a[8],b[8...
回复

使用道具 举报

千问 | 2012-1-18 21:54:46 | 显示全部楼层
是对的,可能是你在运行的时候你觉得出现的次数不对,那是因为你按了个回车吧。回车存在了b【0】里。反正我在我的vc里面运行正确...
回复

使用道具 举报

千问 | 2012-1-18 21:54:46 | 显示全部楼层
我运行的没错有一种可能if(a!=b)count++;printf("%d",count);之间编译器误以为 是 if
else语句。这样你输出的就是0004if(a!=b)count++;用{}括起来。...
回复

使用道具 举报

千问 | 2012-1-18 21:54:46 | 显示全部楼层
你是不是没有考虑输入时的回车?是不是在输入第一个8字符后有个回车?如果有,那你在第二个for之前加一个scanf("%c",&c);把这个回车吃掉(c要在之前定义一下char c;放到函数头)...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行