C语言代码.帮忙修改下.谢谢

来源:百度知道 编辑:UC知道 时间:2024/05/15 16:54:56
#endif
) {

int maxnums=80;

if( CHAR_getInt( toindex,CHAR_LV ) < 74 ) {
sprintf(buf1,"这是?我感觉到一股灵气,(瞬间精神饱满)");
CHAR_talkToCli( charaindex, toindex, buf1, CHAR_COLORWHITE);
num = ITEM_MODIFYATTACK;
LevelUpPoint = CHAR_getInt( toindex, CHAR_ALLOCPOINT );
petrank = CHAR_getInt( toindex, CHAR_PETRANK );
work[3] =(( LevelUpPoint >> 24 ) & 0xFF);
work[0] = (( LevelUpPoint >> 16 ) & 0xFF);
work[1] = (( LevelUpPoint >> 8 ) & 0xFF);
work[2] = (( LevelUpPoint >> 0 ) & 0xFF);
for( i=0; i<4; i++) {
type = ITEM_getInt( itemindex, (num + i));
work[i] += type;
strcpy( buf1,"\0");
if( work[i] > maxnums ) {
sprintf(buf1,"%s 已经达到最高了。", buf2[i]);
work[i] = maxnums;
}else if( work[i] < 0 ) {
sprintf(buf1,"%s 已经为零了。", buf2[i

可以在for循环外边定义一个变量sum
sum=0;
for( i=0; i<4; i++) {
type = ITEM_getInt( itemindex, (num + i));
work[i] += type;
strcpy( buf1,"\0");
if( work[i] > maxnums ) {
sprintf(buf1,"%s 已经达到最高了。", buf2[i]);
work[i] = maxnums;
}else if( work[i] < 0 ) {
sprintf(buf1,"%s 已经为零了。", buf2[i]);
work[i] = 0;
}

if((sum+=work[i])>200) //这里的if和上面的没有if-else关系
{
work[i]-=(sum-200);
break;//此处加不加break结果是一样的,但加的好处是如果前三个和已经大于200之后就不必再进行下次循环了
}
}