来个大佬
#include <stdio.h>#include <string.h>
int main()
{char a,b;
int c;
printf("请输入第一个字符串:");
scanf("%s",&a);
getchar();
printf("请输入第二个字符串:");
scanf("%s",&b);
getchar();
printf("请输入比较的字符数:");
scanf("%d",&c);
getchar();
if(!strncmp(a,b,c))
{
printf("这两个字符串完全相等!");
}
else if(a>b)
{
printf("比较的结果是:%d\n",a-b);
}
else if(a<b)
{
printf("比较的结果是:%d\n",b-a);
}
return 0;
} 能帮忙指一下错误吗{:10_299:} 显示一堆警告,也打印不出目标效果 https://fishc.com.cn/forum.php?mod=viewthread&tid=70626&extra=page%3D1%26filter%3Dtypeid%26typeid%3D570
这个的课后作业 顺带问一下字符串的ASICⅡ码计算应该怎么表示{:10_316:}是直接让两个字符串相减吗 %s是字符串,你定义的变量是字符,你要定义成字符数组或者字符指针 你定义的 char a,b;
a和b中只能存放字符,而不是字符串,
这样定义 char a;
char b;
" else if(a>b)
{
printf("比较的结果是:%d\n",a-b);"
这个多余了,字符串比较函数可以直接判断是否相等 你定义的是字符变量,只能存一个字符。应该定义一个字符数组,用while循环,getchar()输入 char a, b; 定义的是字符变量。但是你在后面输入scanf函数中使用%s,这代表输入的是字符串。这是定义变量与输入形式不一致的问题 谢谢大佬们~~但改过来后计算结果不一样,计算环节出了啥问题{:10_266:} Sue. 发表于 2021-9-28 16:11
谢谢大佬们~~但改过来后计算结果不一样,计算环节出了啥问题
把改过的代码发出来看看 本帖最后由 bszs 于 2021-9-28 17:39 编辑
#include <stdio.h> //为什么不用scanf而用getchar进行输入,是因为scanf在读取到空格时便停止读取,对于第三个girl friend
#include <string.h> //的判断如果遇到空格的话则不会对后面的friend进行判断,而且后面的friend会遗留在缓冲区内,影响b的
//赋值
int main()
{
char a,b;
int i,c,x=0,y=0;
printf("请输入第一个字符串:");
for(i=0;(a=getchar())!='\n';i++); //for后面带分号是因为赋值的过程在判断条件内,后面不需要语句
a='\0'; //由于是一个字符一字符赋值的,没有'\0',而a内存放的是'\n',手动把它赋值成'\0'即可
printf("请输入第二个字符串:");
for(i=0;(b=getchar())!='\n';i++);
b='\0';
printf("请输入比较的字符数:");
scanf("%d",&c);
if(strncmp(a,b,c)>0)
{
for(i=0;i<c;i++)
{
x+=a-b;
}
printf("%d",x);
}
else if(strncmp(a,b,c)<0)
{
for(i=0;i<c;i++)
{
y+=a-b;
}
printf("%d",y);
}
else printf("0");
}
这是我自己写的,我也是小白,提供个思路
你看看下面这篇就能明白scanf 和getchar的区别了
https://blog.csdn.net/weixin_44551646/article/details/98076863?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522163049156016780366543090%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=163049156016780366543090&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-98076863.first_rank_v2_pc_rank_v29&utm_term=getchar&spm=1018.2226.3001.4187 bszs 发表于 2021-9-28 17:35
这是我自己写的,我也是小白,提供个思路
你看看下面这篇就能明白scanf 和getchar的区别了
https://blo ...
好的谢谢{:10_298:}
页:
[1]