没改的时候第二个if在第一个if的执行语句里面,改了就出来了,成了并列的,当然会错
但是看不明白 函数f(),返回为void,不能做+或=运算。 欢迎采纳我的答案修改三处 1 void f(int); - int f(int); 2 void f(int n)c
#include
using namespace std;
#define CHANGE 1
int main()
{
char c;
cout << "input a text:" << endl;
#if CHANGE
while ( ( c = getchar() ) != '\n' )
{
if ( ( c >= 'a' && c <= 'z' ) || ( c >= 'A' && c <= 'Z' ) )
{
if ( c != 'z' && c != 'Z' )
{
c = c + 1;
}
else
{
c = c - 25;
}
}
cout << c;
}
#else
while ( (c = getchar() ) != '\n' )
{
putchar( c );
}
#endif
cout << endl;
}
修改后:
#include
using namespace std;
#define CHANGE 1
int main()
{
char c;
cout<<"input a text:"<
while((c=getchar())!='\n')
{
if(c>='a'&&c<'z'||c>='A'&&c<'Z')
{
c=c+1;
}
else if(c=='z'||c=='Z')
{
c=c-25;
}
cout<
#else
while((c=getchar())!='\n')
putchar(c);
#endif
cout<
}