读书人

一个很简单的C语言代码 大侠

发布时间: 2012-05-20 16:03:12 作者: rapoo

一个很简单的C语言代码 在线等大侠

C/C++ code
#include<stdio.h>int main(){   int i;   gets(i);   printf("%s\n",i);   if(i=1){      printf("111111111111");   }   if(i=2){       printf("222222222");   }else{     exit(1);     }}

我是学java的很久没用C了,我想问一下为什么这段代码为什么不管输入的是1还是2两个判断语句中的都会打印出来

[解决办法]
gets是用来输入字符串的,不是用来输入整数的。
还有,i是整数类型,你怎么能这么用呢? printf("%s\n",i);
保留你先前的gets函数,我替你给过来了。
C/C++ code
#include <stdio.h>#include <stdlib.h>int main(){   int i;   char buff[16];   gets(buff);   sscanf(buff,"%d",&i); //将字符串转化为1个整数,存入i中   printf("%d\n",i);   if(i==1){      printf("111111111111");   }   if(i==2){       printf("222222222");   }else{     exit(1);     }}
[解决办法]
if(i==1){
printf("111111111111");
}
if(i==2){
printf("222222222");
}else{
exit(1);
}

if(i=1) //相当执行赋值操作 永真

读书人网 >C语言

热点推荐