一个很简单的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) //相当执行赋值操作 永真