怎么用atoi改变char数组里面单个字符

qq_29338967 2019-05-10 04:07:23
我有一个二维char数组,想用atoi来对数组里面的两个字符进行加减法 比如 char a[n][n] 我想让a[0][0]+a[1][1]//假设a[0][0]=1 a[1][1]=2 我理想的结果是等于3 但是atoi好像直接是吧指针位置以后的一行全部变成了int 我得到的结果就是1....加上2.... 请问怎么只把指针位置的char改变成int呢
...全文
293 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_29338967 2019-05-15
  • 打赏
  • 举报
回复
引用 8 楼 自学半天的大一麦克 的回复:
[quote=引用 7 楼 qq_29338967 的回复:] [quote=引用 6 楼 自学半天的大一麦克 的回复:][quote=引用 5 楼 qq_29338967 的回复:] [quote=引用 4 楼 自学半天的大一麦克 的回复:]不用使用 atoi, 如果两个类型都是 char 型的, 可以直接做减法。
char a[2][2] = {{0}};
    a[0][0] = '1';
    a[1][1] = '5';
    int b = a[0][0] - a[1][1];
    cout << "b = " << b << endl;   //结果是-4
    b = a[1][1] - a[0][0];
    cout << "b = " << b << endl;   //结果是4
如果使用加法。 则要减去'0'

    int c = (a[0][0]-'0') + (a[1][1]-'0');
    cout << "c = " << c << endl;   //结果是6
谢谢!太有帮助了[/quote] 那麻烦给个分哦[/quote]怎么给 我第一次用这个app[/quote] 选择 结贴就可以啦[/quote]兄弟 我手机上没找到这个
  • 打赏
  • 举报
回复
引用 7 楼 qq_29338967 的回复:
[quote=引用 6 楼 自学半天的大一麦克 的回复:][quote=引用 5 楼 qq_29338967 的回复:] [quote=引用 4 楼 自学半天的大一麦克 的回复:]不用使用 atoi, 如果两个类型都是 char 型的, 可以直接做减法。
char a[2][2] = {{0}};
    a[0][0] = '1';
    a[1][1] = '5';
    int b = a[0][0] - a[1][1];
    cout << "b = " << b << endl;   //结果是-4
    b = a[1][1] - a[0][0];
    cout << "b = " << b << endl;   //结果是4
如果使用加法。 则要减去'0'

    int c = (a[0][0]-'0') + (a[1][1]-'0');
    cout << "c = " << c << endl;   //结果是6
谢谢!太有帮助了[/quote] 那麻烦给个分哦[/quote]怎么给 我第一次用这个app[/quote] 选择 结贴就可以啦
qq_29338967 2019-05-10
  • 打赏
  • 举报
回复
引用 6 楼 自学半天的大一麦克 的回复:
[quote=引用 5 楼 qq_29338967 的回复:] [quote=引用 4 楼 自学半天的大一麦克 的回复:]不用使用 atoi, 如果两个类型都是 char 型的, 可以直接做减法。
char a[2][2] = {{0}};
    a[0][0] = '1';
    a[1][1] = '5';
    int b = a[0][0] - a[1][1];
    cout << "b = " << b << endl;   //结果是-4
    b = a[1][1] - a[0][0];
    cout << "b = " << b << endl;   //结果是4
如果使用加法。 则要减去'0'

    int c = (a[0][0]-'0') + (a[1][1]-'0');
    cout << "c = " << c << endl;   //结果是6
谢谢!太有帮助了[/quote] 那麻烦给个分哦[/quote]怎么给 我第一次用这个app
  • 打赏
  • 举报
回复
引用 5 楼 qq_29338967 的回复:
[quote=引用 4 楼 自学半天的大一麦克 的回复:]不用使用 atoi, 如果两个类型都是 char 型的, 可以直接做减法。
char a[2][2] = {{0}};
    a[0][0] = '1';
    a[1][1] = '5';
    int b = a[0][0] - a[1][1];
    cout << "b = " << b << endl;   //结果是-4
    b = a[1][1] - a[0][0];
    cout << "b = " << b << endl;   //结果是4
如果使用加法。 则要减去'0'

    int c = (a[0][0]-'0') + (a[1][1]-'0');
    cout << "c = " << c << endl;   //结果是6
谢谢!太有帮助了[/quote] 那麻烦给个分哦
qq_29338967 2019-05-10
  • 打赏
  • 举报
回复
引用 4 楼 自学半天的大一麦克 的回复:
不用使用 atoi, 如果两个类型都是 char 型的, 可以直接做减法。
char a[2][2] = {{0}};
    a[0][0] = '1';
    a[1][1] = '5';
    int b = a[0][0] - a[1][1];
    cout << "b = " << b << endl;   //结果是-4
    b = a[1][1] - a[0][0];
    cout << "b = " << b << endl;   //结果是4
如果使用加法。 则要减去'0'

    int c = (a[0][0]-'0') + (a[1][1]-'0');
    cout << "c = " << c << endl;   //结果是6
谢谢!太有帮助了
  • 打赏
  • 举报
回复
不用使用 atoi, 如果两个类型都是 char 型的, 可以直接做减法。
char a[2][2] = {{0}};
    a[0][0] = '1';
    a[1][1] = '5';
    int b = a[0][0] - a[1][1];
    cout << "b = " << b << endl;   //结果是-4
    b = a[1][1] - a[0][0];
    cout << "b = " << b << endl;   //结果是4
如果使用加法。 则要减去'0'

    int c = (a[0][0]-'0') + (a[1][1]-'0');
    cout << "c = " << c << endl;   //结果是6
自信男孩 2019-05-10
  • 打赏
  • 举报
回复
atoi是对字符串的,应该是:
a[0][0]='1'; a[1][1]= '2';
用atoi不如用a[0][0] - '0'
qq_29338967 2019-05-10
  • 打赏
  • 举报
回复
引用 1 楼 赵4老师 的回复:
我离这个层次可能有点过远了
赵4老师 2019-05-10
  • 打赏
  • 举报
回复
电脑内存或文件内容或传输内容只是一个一维二进制字节数组及其对应的二进制地址; 人脑才将电脑内存或文件内容或传输内容中的这个一维二进制字节数组及其对应的二进制地址的某些部分看成是整数、有符号数/无符号数、浮点数、复数、英文字母、阿拉伯数字、中文/韩文/法文……字符/字符串、汇编指令、函数、函数参数、堆、栈、数组、指针、数组指针、指针数组、数组的数组、指针的指针、二维数组、字符点阵、字符笔画的坐标、黑白二值图片、灰度图片、彩色图片、录音、视频、指纹信息、身份证信息……

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧