【发布时间】:2020-04-23 02:28:40
【问题描述】:
我已经编写了一个小代码来处理可变数量的字符串,但是我如何以相反的顺序处理这些字符串。 预期输出为:Jolasd14;实际输出为:asdJol14。
int Columna(int anchoColumna,...){
va_list longitudCadena;
va_start ( longitudCadena, anchoColumna );
char caracter;
do{
caracter =va_arg ( longitudCadena, int );
anchoColumna -= ( int ) caracter;
} while ( caracter != '\0' );
va_end ( longitudCadena );
return anchoColumna;
}
int main ( int cantidadArgumentos, char** argumentos ) {
printf("%d",Columna(20,printf("Jol"),printf("asd")));
return 0;
}
编辑: 我只用字符串尝试了类似的事情,得到了预期的输出。
【问题讨论】:
-
你问题的前提是错误的。这是任何可以执行此操作的函数调用,因为在 C 中未指定函数参数评估的顺序。