发布网友 发布时间:2022-04-22 00:40
共2个回答
热心网友 时间:2023-07-29 12:06
是因为你的目的串中有个空格,用scanf输入的时候会把空格前的当成输入了这个问题吧??
我写了个代码可以处理你上面说的这个问题,如果相同打印7,不同打印0,你要是需封成函数可以在我的基础上修改.代码在vc++6上编译运行.代码如下:
#include <stdio.h>
#include <string.h>
#include <conio.h>
#define DEBUG 1
int main()
{
char src[512] = "";
char *dst = "asdf kjhf";
int fg = 0;//脚标
char ch;
printf("请输入字符串,回车结束输入:\n");
#ifdef DEBUG
//此方法可以不用回车当结束符亦可
while (ch = getch()) {
printf("%c",ch);//回显输入
if (ch == 13) {
putchar(10);//换行符
break;
} else {
src[fg++] = ch;
if (fg == 511) {
break;//再大就越界了
}
}
}
#else
//此方法结束符必须为回车用此方法时将#define DEBUG 1注释即可
gets(src);
#endif
// printf("src:%s\ndst:%s\n",src,dst);
if (strcmp(src, dst) == 0) {
printf("7\n");
} else {
printf("0\n");
}
return 0;
}
热心网友 时间:2023-07-29 12:07
什么意思?追问在语言编辑器中无法输入文字
追答在IDE吗?