
int a
else
double a
当执行这个语句的时候 无论是int a 还是 double a 他们的作用域都仅限于if语句或者else语句 也就是说 你在if语句中定义的变量只能在if语句中使用 在else语句中定义的变量只能在else语句中使用 建议你看看关于作用域方面的资料 如果你非得这样的话一个比较简单的办法就是通过函数传递 也就是说将你剩下的代码都写到某个函数中 然后通过“地址传递”的方法将变量地址传递过去 不过因为对int类型和double类型的计算方法不同可能你要写两个函数。
或者你干脆定义两个全局变量 不过名称必须不同 看你实际需要了。
if( flag ) 这里的flag是int型的,在这里被自动强制转换成bool类型的, flag 为0表示为假,就是a[i]不等于a[j], flag为非0表示为真, 就是所有的a[i都]等于a[j] .这里还有一个问题, flag没有初始化, 初值是随机的,也可能是0,也可能是非0,最好在定义之后加一句, flag = 1
改成这样就行了:@echo off
set /p a=请输入:
echo.
if %a% == before set b=gggggggg
if %a% == after set b=hhhhhh
echo %b%
pause
注意双等号两边要有空格,并且去除before和after两边的引号
另外,楼上方法也行
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)