cainiao367 发表于 2013-11-7 07:36:49

输入字符,返回字符问题

编写一个子函数,输入一个字符并且返回该字符:
5          char ch;
6         printf ("Please input char: ");
7         ch = getchar ();
8      // putchar (ch);
9         return ch;
在调用该子函数的时候出席command terminal。然后把上面的作为主函数里面的程序进行测试,
输入的时候输出都没问题,但是出现了 shell returnxx (用的是gcc)。不清楚,这么简单的
代码中有那些注意的东西,导致了莫名的错误。

仰望天上的光 发表于 2013-11-7 07:36:50

应该是你主函数的问题

kid2412 发表于 2013-11-7 09:08:07

你这里如果是一个函数的话 return的是ch是局部变量吧,是不允许return局部变量的 函数出栈之后局部变量就弹出消失了 肯定会出错

cainiao367 发表于 2013-11-7 09:42:14

仰望天上的光 发表于 2013-11-7 08:18
应该是你主函数的问题

我把这个单独作为主函数出现 shell return   xx
正常吗,我用其他好的代码执行后不会出现shell return xx呀,以上xx代表数字

仰望天上的光 发表于 2013-11-7 10:16:37

cainiao367 发表于 2013-11-7 09:42 static/image/common/back.gif
我把这个单独作为主函数出现 shell return   xx
正常吗,我用其他好的代码执行后不会出现shell return x ...

可能main函数返回非0值都会有这个信息?你试试这个程序

int main(void) {
return 97;
}

cainiao367 发表于 2013-11-7 17:01:14

仰望天上的光 发表于 2013-11-7 10:16 static/image/common/back.gif
可能main函数返回非0值都会有这个信息?你试试这个程序

int main(void) {


如果 是 void main ()时,会出现 shell return xx,说明上面的函数是对的,主函数有问题呀,{:2_36:}
页: [1]
查看完整版本: 输入字符,返回字符问题