我正在尝试从控制台读取一个字符(在while循环中).但它不止一次地读过.
输入:
a
Run Code Online (Sandbox Code Playgroud)
输出:
char : a char : char : '
Run Code Online (Sandbox Code Playgroud)
码:
while(..)
{
char in;
scanf("%c",&in);
}
Run Code Online (Sandbox Code Playgroud)
我怎么才能读'a'?
我需要通过指针交换两个字符,但是运行此代码时,程序崩溃。
int main(){
char *s1 = "string1";
swap(st,(st+1));
/* BUT THIS CODE WORKS - Whats the problem?
* char s1[] = "string1";
* swap(s1,&s1[1]);
*/
return 0;
}
void swap(char * const ptr1, char * const ptr2){
char temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = temp;
}
Run Code Online (Sandbox Code Playgroud) 我有一个这样的类.我想使用字符串的引用,但它不起作用.我怎么能使用字符串&?
#include <string>
using namespace std;
class T
{
public:
T(string& s);
private:
string s;
};
T::T(string& s)
{
this->s = s;
}
int main(void)
{
T t("Test Object");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
错误:'T :: T(std :: string&)':无法将参数1从'const char [12]'转换为'std :: string&'
我想知道,如果我只能or,and使用xor. 我认为这是不可能的,但我需要证明这一点。有任何想法吗?
提前致谢。