⑴ 怎样把输入的字符型数字转换成整形输出
#include<stdio.h>
#include<stdlib.h>
void main()
{ int a,b; char str[256],*p;
scanf("%s",str);
b=0; p=str; while ( *p ) { if ( (*p)>='0' && (*p)<='9' ) { b=1; break; } p++; }
a=0; if ( b ) a=atoi(p);
printf("%d
",a);
}
⑵ C++里定义整型,怎么防止输入非整型时出错
#include <iostream>
using namespace std;
void main()
{
int a;
cin>>a;
while(cin.fail())
{
cout<<"please input an integer"<<endl;
cin.clear();
cin.ignore(1024,'\n');
cin>>a;
}
cout<<a<<endl;
}
这种方法有个缺陷,就是要求输入整数时你输入了浮点数,那么浮点数的内整数部分会被读取给整容型变量而不报错.所有要想能处理任何输入错误的可能,就按风龙一的方法,用字符串来接收输入.
⑶ 从键盘输入数据时,对于整形变量可输入整形和字符,对于实型变量可输入实型数值和整形数值
整形可以参加实型复计算 输入制a 记为a.0 (所有语言都可以)
有时候整型变量还是可以通过该字符接收函数来接收字符的,比如:int c;c=getchar();而且这儿的c本应该是定义为字符的。。
c才可以 pascal 就不行
⑷ c++中 想在定义了的整形变量中输入字符型变量
整型就是数字型,用于数学计算的,不可以输入字符型,字符型要定义char 或者string
⑸ c语言中,同时输入整型数据和字符型数据,怎么保证数据的正确性谢谢各位大神
一般是这样解决(假定先输入数字a后输入字符b):
把输入语句写为scanf("%d︺%c”,&a,&b);注意d与%之间那个空格!
程序运行时只要在数字与字符之间打上一个或多个空格就可以了。
如:
123︺a↙
45︺︺︺*↙
⑹ scanf连续输入整型和字符型得不到正确结果问题
因为你要输入的是字符,而空白字符(回车,换行,空格等)也是字专符,他是把你的回车属当成你要输入的字符了··,用scanf输入字符的时候应该加上空格就可以了,如下所示就行
char c;
scanf(" %c",&c);
就是在%c前面加个空格( %c)就是这样,这样的话就会忽略掉空白字符,直到不是空白字符就赋值给c,不知道你清楚没有也
⑺ C语言整型变量输入时输入字符会怎么样
C语言输入整型变量时,抄需要用到scanf函数,形式为
scanf("%d",&a);
即读入一个整型变量,并将值赋值给a。
执行该操作时,scanf会到输入中,读取字符,如果是合法的整型字符(0~9),会根据规则计算值并存入到a中。当遇到非数字字符时结束。
所以,如果系统要求读入整型时,输入了非数字字符,那么scanf就无法得到有效值并赋值给a,这时scanf会出错,对a不做处理,同时以返回值方式报错。
⑻ C语言中如何把整形,字符型,字符串,一次性输入急用,急用
String貌似就可以了。。。
⑼ c语言中如何把输入的字符型变量转化为整型
char a=2
int b
b=(int)a 强制转换
⑽ c程序怎么在整型变量中输入字符或字符串就直接退出
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include "ctype.h"
int input(char ch[])
{
int i=0,s=0;
while(isdigit(ch[i++]=getch()))
{
printf("%c",ch[i-1]);
s=s*10+(ch[i-1]-48);
}
printf("\n");
return s;
}
int main()
{
char ch[15];
int d;
d=input(ch);
printf("%d",d);
}