C++ 关于赋值

来源:百度知道 编辑:UC知道 时间:2024/05/09 11:27:12
long month_id='200906';
我不能这么赋值么 我是小白 请各位指点迷津 如果我想给一个日期初值并打印出来 该怎么做
因为 我赋值的时候报 错
too many characters in constant
太多字符常量
求解
heikefb 01:34:26
C语言里,加了双引号表示它是一个字符串,你可以用长整型来赋值,改为
long month_id=200906;
或用字符串来完成
char month_id="200906";
我试过了 一样的 还会报错
heikefb 01:36:27
给你看我写的 你看看有什么问题
#include <iostream>
#include <string>
using namespace std;
main()
{
long month_id='200906';
//month_idp;
//month=((month_id-1)%100==0) ? ((month_id/100-1)*100+12) : month_id-1;
cout<<"month:"<<month_id<<endl;
return 0;
}
heikefb 01:37:07
我在调试的时候 就单单打印都有问题 报error C2015: too many characters in constant
如果换成双引号 就会提示 不能将long转化char的提示

指针是可以实现不过 我想实现三目运算 就有问题了 提示是非法操作
不过谢谢你的提示 分还会给您加上 不过如果还能给我些提示 我会在短期内把分给您加上

不用long就行了嘛
用char *p="200906";
printf("%s\n",p);
或者
char p[]="200906";
printf("%s\n",p);

C语言里,加了双引号表示它是一个字符串,你可以用长整型来赋值,改为
long month_id=200906;
或用字符串来完成
char month_id="200906";