重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#include stdio.h
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的岷县网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
#include string.h
int main(int argc, char *argv[])
{
char name[32] = {0};
printf("Enter your name\n");
scanf("%s", name);
char sn[32] = {0};
printf("Enter your student number\n");
scanf("%s", sn);
char class[32] = {0};
printf("Enter your class\n");
scanf("%s", class);
printf("Name is [%s] Student Number is [%s] Class is [%s]\n", name, sn, class);
return 0;
}
n = scanf("%d",n);
这一句有问题
1. scanf 函数是有返回值的,它的返回值可以分成三种情况
1) 正整数,表示正确输入参数的个数。
例如执行 scanf(“%d %d”, a, b);
如果用户输入”3 4”,可以正确输入,返回2(正确输入了两个变量);
如果用户输入”3,4”,可以正确输入a,无法输入b,返回1(正确输入了一个变量)。
2) 0,表示用户的输入不匹配,无法正确输入任何值。如上例,用户如果输入”,3 4”,返回0。
3) EOF,这是在 stdio.h 里面定义的常量(通常值为-1),表示输入流已经结束。在Windows下,用户按下CTRL+Z(会看到一个^Z字符)再按下回车(可能需要重复2次),就表示输入结束;Linux/Unix下使用CTRL+D表示输入结束。
你这个输入一个返回值就是1,因此n也会一直等于一
录入字符串部分:
int copy(char*a,char*b)
//a,源字符串 b 目标字符串
char*c=a,*d=b;
while(*c != '\0' *d != '\0')
{
if(*d == '\0' *a != '\0')
{
printf("源字符串长于目标字符串,复制失败");
return 0;//跳回主函数
}
if(*d == '\0')
break;
c++;d++;
}
int i;
for(i=0;a[i] != '\0';i++)
b[i] = a[i];
}
#include
#include
/*要使用正余弦函数必须包含math.h头文件*/
#define
pi
3.14
double
f(x){
return
sin(pi*x)+log(x);/*sin和log函数内的参数均为double类型*/
}
void
main(){
double
x;
double
result;
printf("please
enter
the
value
of
x:");
scanf("%lf",x);
result=f(x);/*调用f(x)函数求值*/
printf("the
result
of
sin(π*%ld)+log(%ld)
is:%ld",x,x,result);
}
定义的input(int
m)
m作用的作用从代码
printf("%s输入一个二进制数:\n",m?"请":"输入有误,请重新");
中的
m?"请":"输入有误,请重新"
这个三目运算符可以看出:
当m=1时
输出:请输入一个二进制数:
m
!=1时
输出:
输入有误,请重新输入一个二进制数:
也就是为了提示用户用的!
所以
这里的
n=input(1)
的
1就是说明要求系统提示:输入有误,请重新输入一个二进制数: