我想知道是否可以更新列表理解中的值。
我想的是:
#include <stdio.h>
int main()
{
char string[50],reserve[50];
char *ps = string;
char *pre = reserve;
int i=-1;
printf(" Input a string : ");
scanf("%s",string);
while(*ps)
{
ps++;
i++;
}
while(i>=0)
{
ps--;
*pre = *ps;
pre++;
--i;
}
*pre='\0';
printf(" Reverse of the string is : %s\n\n",reserve);
return 0;
}
答案 0 :(得分:1)
简答:不。 理解列表提供了创建列表的简明方法。
在你的情况下,你仍然可以使用理解列表来创建列表(而不是更新它):
String ^ cryptoLib::CLIWrapper::decrypt(String ^ encText, String^ key,
unsigned char* enc_out, size_t encLength, size_t inputLength)
{
std::string unmanagedKey = msclr::interop::marshal_as<std::string>(key);
const unsigned char* keyArray = (unsigned char*)(unmanagedKey.c_str());
unsigned char *dec_out = (unsigned char*)malloc(sizeof(unsigned char)
*encLength);
memset(dec_out, 0, sizeof(dec_out));
AES_KEY dec_key, enc_key;
AES_set_decrypt_key(keyArray, keyLength, &dec_key);
AES_decrypt(enc_out, dec_out, &enc_key);
return "";
}