这就是我尝试它的方式,但是当我输入q时它只是跳过命令行并继续程序。
int main()
{
int a;
char c;
cont(&a);
while(a != 'q' && a != 'Q')
{
while ( ( c = getchar() ) != EOF)
{
putchar( r13( c ) );
}
}
return 0;
}
答案 0 :(得分:1)
您需要将a
的引用传递给cont()
-
void cont(int* a)
{
printf("If you do not want to enter a value press q");
scanf("%c", a);
}
并称之为:
cont(&a);
否则,只更改a
(传递给函数)的副本,而不是a
本身。
如果要更改函数中a
的值,则需要将返回值存储在某处,但忽略它(例如a = cont(a);
)。
或者,为函数提供a的引用(例如地址),这样就可以更改a
的值。