以下行有问题int (*f)(int, int) = (argv[2][0] == 'd'),编译时声明此处不允许声明.如果该行在开始时被声明,那么任何更好的方法都可以做到这一点.任何建议都会受到高度赞赏吗?
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int encode(int ch, int key) {
if (islower(ch)) {
ch = (ch-'a' + key) % 26 + 'a';
ch += (ch < 'a') ? 26 : 0;
}
else if (isupper(ch)) {
ch = (ch-'A' + key) % 26 + 'A';
ch += (ch < 'A') ? 26 : 0;
}
return ch;
}
int decode(int ch, int key) {
return encode(ch, -key);
}
int …Run Code Online (Sandbox Code Playgroud) c ×1