阁龙1427 发表于 2015-6-5 15:53:50

关于int main() 和 C视频的中加密的两个问题

1- 为什么有的书中是int main 而非 void main 呢?
2-我的代码:
/***********************************************

purpose:加密解密
Algorithm: 先加4 后减4 China->G****

************************************************/


#include <stdio.h>
#include <stdlib.h>

int main()
{

    char a,b,c,d,e;
    int passwords;

    printf("Please input original content!");
    scanf("%c%c%c%c%c",&a&b&c&d&e);

    a = a+4;
    b = b+4;
    c = c+4;
    d = d+4;
    e = e+4;

    printf("The content is %c%c%c%%c%c\n",a,b,c,d,e);
    printf("Please input the passwords!\n");
    scanf("%d",passwords);

    if (331414 == passwords)
    {
    a = a-4;
    b = b-4;
    c = c-4;
    d = d-4;
    e = e-4;
    printf("The content is %c%c%c%%c%c\n",a,b,c,d,e);
    }
    else
      printf("the wrong passwords!\n");

}

报错:E:\小甲鱼学习课程\programmer_Aidon\C\0017\0017.c(19) : error C2296: '&' : illegal, left operand has type 'char *'
执行 cl.exe 时出错.

南郊居士 发表于 2015-6-6 21:59:03

1.编译器原因,不必深究,int main的方式可能更好些
2.语法错误,后面的参数与参数之间需要逗号隔开,即:
scanf("%c%c%c%c%c",&a, &b, &c, &d, &e);

楼主的程序还有其它错误,“password”没有加取地址符,最后没有返回值

阁龙1427 发表于 2015-6-9 16:33:50

南郊居士 发表于 2015-6-6 21:59
1.编译器原因,不必深究,int main的方式可能更好些
2.语法错误,后面的参数与参数之间需要逗号隔开,即: ...

/***********************************************

purpose:加密解密
Algorithm: 先加4 后减4 China->Glame****

************************************************/


#include <stdio.h>
#include <stdlib.h>

int main()
{

    char a,b,c,d,e;
    int passwords;

    printf("Please input original content!");
    scanf("%d,%d,%d,%d,%d",&a&b&c&d&e);

printf("The content is %c,%c,%c,%c,%c\n",a,b,c,d,e);
    a = a+4;
    b = b+4;
    c = c+4;
    d = d+4;
    e = e+4;

    printf("Please input the passwords!\n");
    scanf("%d",&passwords);

    if (331414 == passwords)
    {
    a = a-4;
    b = b-4;
    c = c-4;
    d = d-4;
    e = e-4;
    printf("The content is %c,%c,%c,%c,%c\n",a,b,c,d,e);
    }
    else
      printf("the wrong passwords!\n");
return 0;

}
已经做出了改变 编辑还是出错,错误指向:scanf("%d,%d,%d,%d,%d",&a&b&c&d&e);

南郊居士 发表于 2015-6-9 16:59:57

阁龙1427 发表于 2015-6-9 16:33
/***********************************************

purpose:加密解密


c语言中函数调用每个参数之间都需要用逗号隔开,你用scanf接收输入,a、b、c、d、e都是独立的参数,怎么能写成&a&b&c&d&e这样呢,之间都需要逗号隔开的,你仔细看我的代码
scanf("%d,%d,%d,%d,%d",&a, &b, &c, &d, &e);

阁龙1427 发表于 2015-6-18 15:40:37

谢谢 问题解决了额
页: [1]
查看完整版本: 关于int main() 和 C视频的中加密的两个问题