注册 登录
编程论坛 C++教室

这个有谁能看一下吗?、看了好久没有明白,我看两个for循环没有什么区别

eagle_小李 发布于 2015-03-03 20:31, 535 次点击
程序代码:

#include<cstdio>
#include <stdlib.h>
#include "string.h"
int main()
{
     char a[1000],b[1000];
    int aa[1000],bb[1000];
    int re[1000];
   
    int lena,lenb;
    int i,j;
    scanf("%s%s",a,b);
for(int j=0;j<strlen(b);j++)
{
    char c=b[j];
     bb[j]=atoi(&c);
     printf("%d  ",bb[j]);
   
   
}
     printf("\n");
    for(i=0;i<strlen(a);i++)
    {
           char c=a[i];
        aa[i]=atoi(&c);
    printf("%d  ",aa[i]);
    }


//    printf("%d,%d",lena,lenb);
   
  return 0;
}[local]1[/local]
6 回复
#2
eagle_小李2015-03-03 20:33
为什么输出的效果不同呢?、
#3
wmf20142015-03-03 21:39
没发现什么不同,除非你第二个printf语句为:   printf("%d3  ",aa[i]);才是你运行的结果。
只有本站会员才能查看附件,请 登录


[ 本帖最后由 wmf2014 于 2015-3-3 21:43 编辑 ]
#4
eagle_小李2015-03-04 20:06
回复 3楼 wmf2014
不是,我怀疑是不是编译器的问题,用Java的话,也是正确的,我用的是dev,这个结果是在第二次循环时,每个数字末尾会加上第一次输入的字符串的末尾的那个数字。不一定会是3
#5
wmf20142015-03-05 07:28
没道理。你把两个显示顺序对调下,看什么效果。
#6
rjsp2015-03-05 08:26
两段代码都是错误的
atoi要求参数是一个以'\0'结尾的字符串
应当改为 bb[j]=c-'0' 和 aa[i]=c-'0'
#7
wmf20142015-03-05 10:44
回复 6楼 rjsp
版主威武!学习了。
汗~~~~~~~~~~~~
1