学C++遇到的问题 请指教

来源:百度知道 编辑:UC知道 时间:2024/05/24 12:13:46
1 这个 \"a\" 书上说将输出"a" 我的疑问是 为什么不输出"a\" 反斜杠可使双引号失去字符串起止符的作用这没错 可为什么不是像我想的那样输出内容呢2 这个语句 ++i=5;为什么可以说++i是左值 这时候的i=几呢3 表达式语句有副作用吗 或者这么问 表达式的值有副作用吗解答个数不限 悬赏积分可加 重点是帮我打通疑点 学会知识 谢谢了

1、\可以使双引号失去字符串起止符的作用,那么在输出时\"就表示什么都没有,即是说\"a\"就表示a,输出字符直接输出会出问题,应该写成cout<<"\"a\""<<endl;结果为"a"
2、++i=5 是先把i加1,再把5的值给i,那么i的值就成了5了。不管之前i是多少,最后都是5,这是赋值
3、这没看懂你要表达什么意思,可否说得详细一点

1,这些是C++语法的规定,\"输出";\\输出\;如果要输出"a\",需要使用\"a\\\"; 要输出一个字符串如"a\bc\d",这样就可以了"a\\bc\\d"(不带上引号)。
2,根据C++的运算符优先级,++的优先级高,所以先计算++i,++i返回i加1后i的值,相当于(i = i+1; i = 5;),所以i的值应当是5。