一般学过C语言的人都知道,i++是在循环中使用后进行加一操作,而++i是在使用前进行加一操作。所以在使用时稍不注意就会造成不必要的麻烦,本人在写一个简单的顺序表的时候,由于没有使用while循环而改用for循环,所以不小心踩了坑。特此记录一下,提醒自己。
我在创建顺序表的时候,写了一个创造函数
试图通过i的值直接指定线性表的长度而不用再定一个变量,现在假定我输入的参数中n等于5.按道理在for循环之后,i的值应该为4,所以线性表的长度为i+1才对。可是我写为i+1时却发现结果是错误的。经过调试后发现,i的值最后直接为5.
也就是说,在for循环过后,i的值进行了加一的操作,是因为我在for循环里写了i++.所以在最后一次用i的时候,i的值为4.随后使用后进行了加一。所以才会出现这样的结果。建议大家在循环中要用到i值的时候都使用while循环,避免不必要的麻烦和问题。
顺便一提,如果在for循环中使用++i,便会在使用之前进行加一,道理上和上述的i++一样,所以只要知道i++的问题,对于++i的问题也是同理,这里就不再赘述了。