鱼C论坛

 找回密码
 立即注册
查看: 2401|回复: 2

[已解决]小甲鱼字符串处理函数动动手第0题i++的作用是啥?

[复制链接]
发表于 2022-10-24 15:58:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

#define MAX 1024

int main() {
        char str1[MAX];
        char str2[MAX];
        int i = 0;
        unsigned int n;

        printf("请输入第一个字符串:");
        while ((str1[i++] = getchar()) != '\n')
                ;

        printf("请输入第二个字符串:");
        i = 0;
        while ((str2[i++] = getchar()) != '\n')
                ;

        printf("请输入比较的字符数:");
        scanf("%u", &n);

        for (i = 0; i < n; i++) {
                if (str1[i] - str2[i]<0) {
                        printf("i++前%d\n",i);
//                        i++;i++作用是啥 
                        printf("i++后%d\n",i);
                        break;
                }
        }
        printf("比较的结果是:%d\n", str1[i-1] - str2[i-1]);
        return 0;
}
我注释掉i++貌似结果并没有什么改变
最佳答案
2022-10-24 16:50:11
在这里的i++确实没什么用,估计是为了保持for(i = 0 ; i < n ; i++)语句的风格吧,这种语句跑完的时候,i一般都是多加了1次的,
按这个思维定势,后面用的时候就 -1 用, printf("比较的结果是:%d\n", str1[i-1] - str2[i-1]);
哪天把for里的东西改了,后面也不会出问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-24 16:27:15 | 显示全部楼层
本帖最后由 jackz007 于 2022-10-24 16:31 编辑
        int i = 0;
. . . . . .
        printf("请输入第一个字符串:");
        while ((str1[i++] = getchar()) != '\n')
. . . . . .
        printf("请输入第二个字符串:");
        i = 0;
        while ((str2[i++] = getchar()) != '\n')
       i 是数组索引,i ++ 就是 i = i + 1,在存入一个字符以后,索引值增加 1,指向数组的下一个元素存储位置,以便下一个字符可以存入其中,同时,输入结束的时候,i 值就是一共输入的字符个数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-24 16:50:11 | 显示全部楼层    本楼为最佳答案   
在这里的i++确实没什么用,估计是为了保持for(i = 0 ; i < n ; i++)语句的风格吧,这种语句跑完的时候,i一般都是多加了1次的,
按这个思维定势,后面用的时候就 -1 用, printf("比较的结果是:%d\n", str1[i-1] - str2[i-1]);
哪天把for里的东西改了,后面也不会出问题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-17 05:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表