大哥救命,问题在最后
#include <stdio.h>#define MAX 1024
int main()
{
char str1;
char str2;
int i = 0;
unsigned int n;
printf("请输入第一个字符串:");
while ((str1 = getchar()) != '\n')
;
printf("请输入第二个字符串:");
i = 0;
while ((str2 = getchar()) != '\n')
;
printf("请输入比较的字符数:");
scanf("%u", &n);
for (i = 0; i < n; i++)
{
if (str1 - str2)
{
i++;
break;
}
}
printf("比较的结果是:%d\n", str1 - str2);
return 0;
}
1.getchar()!='\n'是不是将\n前的字符串全部存在str里?
2.while ((str2 = getchar()) != '\n')的作用是不是一直循环直至字符串结束?
3.str里的i++最后的结果为字符串的字母数量?
4.if的条件和if里的i++各有什么作用?
5.他是怎么将字母转为数字的? 1.)没错
2.)没错(正确的说应该是直到换行为止)
3.)没错(i 初始值为 0,每次赋值,i 加 1,最终变成字母数量)
4.)不知道是谁写的代码,基本没有作用,反正都要 break,最后打印结果又 -1
5.)不用转,一般字母本来就对应 ASCII 编码 傻眼貓咪 发表于 2021-12-27 08:52
1.)没错
2.)没错(正确的说应该是直到换行为止)
3.)没错(i 初始值为 0,每次赋值,i 加 1,最终变成 ...
那他用字母减字母会得出相应的asicii码? 如果一样字符相减就会是 0
如果不一样字符相减,比如:'z' - 'a' = 122 - 97 = 25
ASCII 'a' 是 97、'z' 是 122 傻眼貓咪 发表于 2021-12-27 16:42
如果一样字符相减就会是 0
如果不一样字符相减,比如:'z' - 'a' = 122 - 97 = 25
ASCII 'a' 是 97、'z'...
的确有点多余,我把i加一减一去除还是可以正常运行
页:
[1]