#include
#include
#include
using namespace std;
int main()
{
int n,m,r;
scanf("%d %d %d",&n,&m,&r);
r *= 2;
int nums = (n / r) * (m / r);
char* s;
if(nums % 2 == 1) s = "Alice win";
else s = "Bob win";
printf(s);
return 0;
}
这里有哪里错了?
字符串 要赋值给 char指针,那它需要时 const 修饰的,如下:
#include <cstdio>
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
int n,m,r;
scanf("%d %d %d",&n,&m,&r);
r *= 2;
int nums = (n / r) * (m / r);
const char* s; // 修改为 const 修饰
if(nums % 2 == 1) s = "Alice win";
else s = "Bob win";
printf(s);
return 0;
}
能否发出题目,点进去看不了
我的问题,刚才没看清楚就瞎定论了。关于这道题目你的解法没问题,但是指针用错了,你的指针刚开始并未初始化,如果你的指针所指地址的值也是一个char常量或者非法区域,那么你将不能对他进行二次赋值,如果你还是想用指针进行下面的操作,你应该引进一个字符串数组,将指针指向数组,即可进行二次赋值。