关于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 时出错. 1.编译器原因,不必深究,int main的方式可能更好些
2.语法错误,后面的参数与参数之间需要逗号隔开,即:
scanf("%c%c%c%c%c",&a, &b, &c, &d, &e);
楼主的程序还有其它错误,“password”没有加取地址符,最后没有返回值 南郊居士 发表于 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); 阁龙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); 谢谢 问题解决了额
页:
[1]