#include<stdio.h> void main() { char i; i = getchar(); printf("%d",i); } 为什么输入1时输出是49?
程序执行完了自然就退出了,你在代码最后加上getchar();试试,不要加在for循环体里
char*转换
Qt下面,字符串都用QString,确实给开发者提供了方便,想想VC里面定义的各种变量类型,而且函数参数类型五花八门,经常需要今年新那个类型转换
Qt再使用第三方开源库时,由于库的类型基本上都是标准的类型,字符串遇的多的就是Char*类型
在Qt下怎样将QString转char*呢,需要用到QByteArray类,QByteArray类的说明详见Qt帮助文档。
因为char*最后都有一个‘/0’作为结束符,而采用QString::toLatin1()时会在字符串后面加上‘/0’
方法如下:
Qstring str;
char* ch;
QByteArray ba = str.toLatin1();
ch=ba.data();
这样就完成了QString向char*的转化。经测试程序运行时不会出现bug
注意第三行,一定要加上,不可以str.toLatin1().data()这样一部完成,可能会出错。
补充:以上方法当QString里不含中文时,没有问题,但是QString内含有中文时,转换为char*就是乱码,采用如下方法解决:
方法1:
添加GBK编码支持:
#include
QTextCodec::setCodecForTr(QTextCodec::codecForName("GBK"));
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
然后改变上面的第三行为:QByteArray ba = str.toLoacl8Bit(); toLoacl8Bit支持中文
方法2:
先将QString转为标准库中的string类型,然后将string转为char*,如下:
std::string str = filename.toStdString();
const char* ch = str.c_str();
你可以改写为
i=(i-'0')*10;
即减去ASCii。
为什么要用getchar()呢,直接scanf("%d", i),其中i是整型。。。你题目中输入的是字符'1‘,它的ASCII码为49故printf("%d", i)输出的是49
printf("%c",i);
因为“1”的ASCII码是49
#include <stdio.h>
void main()
{
char i;
i =(int) getchar();
i-=48;
printf("%d\n",i);
i*=10;
printf("%d\n",i);
}
include是什么意思
include是包括的意思。释义:vt.包含,包括。变形:过去式included、过去分词included、现在分词including、第三人称单数includes。双语例句 1、We all have participated that party, including Tom.我们都参加了那个派对,包括汤姆。2、The money includes salary and bonus.这笔钱包含工资和奖金。3、We are...
include和including的区别
1、include是动词,前面要有主语。在句子中作谓语。如:Thepriceincludespostagecharges.价格包括邮费在内。2、including是介词,一般用在逗号后面,或者是冒号的前面,总之,是用标点隔开用的,但是有的时候它也是可以放在句子中的。可做状语或定语。如:Seven,includingagoalkeeper.7名,包括一位守门员。
include是什么意思?
1、include是动词,意为“包括,包含”,侧重指被包含着是整体的一部分,可以在句中充当谓语。例句:(1)、The list include many new names. 这张名单上包含许多新名字。(2)、The book includes two chapters on grammar. 这本书包含两章关于语法的内容。2. including在日常运用中一般被当做...
include和including有什么不同吗?
include和including是两个不同的词语,前者是一个动词,表示“包括、包含”,后者是一个介词,表示“包括在内”、“不仅仅是”或“加上”等意思。而included则是include的过去分词形式,表示“被包括在内”的意思。include是一个动词,表示“包括、包含”的意思,用于表明一个事物或一组事物的其中一部分...
include和include的区别是什么呢?
1、词性不同 Include是动词,including是动词的现在分词形式。2、用法不同 include是及物动词,意为“包括”、“包含”,后可接动名词作宾语,不接不定式。including常接在“逗号”之后,或者是冒号的前面,总之是用标点隔开用的,但是有的时候,其也是可以放在句子中的。3、固定搭配不同 include:include...
include的用法和including区别是什么?
用法上的区别:include是动词原形,可当谓语用,including是现在分词,是种非谓语形式,可作状语,定语,表主动意义。included过去分词,是种非谓语形式,可作状语,定语,表被动意义。词义上的区别:Including:prep. 包含,包括 Include:vt. 包含,包括 Included:adj. 包括的;[植] 内藏的 v. ...
include过去式
include的过去式是included。下面将分为多个部分,详细介绍include过去式的用法和相关知识。一、include过去式的语法 1."Include"是一个动词,其过去式为"included"。2.过去式表示过去发生的事情或状态,可以使用在完成时态,一般过去时等时态中。二、include过去式的常见应用 1.include在过去式中经常与...
include 和including的区别?
1、include是动词,前面要有主语。在句子中作谓语。 如:The price includes postage charges. 价格包括邮费在内。 2、including是介词,一般用在逗号后面,或者是冒号的前面,总之,是用标点隔开用的,但是有的时候它也是可以放在句子中的。可做状语或定语。 如:Seven, including a goalkeeper. 7名,包括一位守门员。
include的用法
include是及物动词,意为“包括”、“包含”,后可接动名词作宾语,不接不定式。included 是过去分词形式的形容词。1.include是及物动词,意为“包括”、“包含”。(include sth.包括某事在内)This plan includes most of your suggestions.这项计划里包括了你们的大部分建议.The group included two ...
'include'和'including' 有什么区别? 怎么用?
1、include是动词,前面要有主语。在句子中作谓语。 如:The price includes postage charges. 价格包括邮费在内。 2、including是介词,一般用在逗号后面,或者是冒号的前面,总之,是用标点隔开用的,但是有的时候它也是可以放在句子中的。可做状语或定语。 如:Seven, including a goalkeeper. 7名,包括一位守门员。
书刚贝贝: stdio,不过你不写这句话很多方法你都用不了. 最常用的,比如printf()1楼说的对...函数库. 这个stdio中封装了很多有用的函数.h>就用不了;这个方法你不写#include <
隆阳区13162585367: 一个C语言求绝对值的问题?我在VC++ 6.0平台上编写求一个数的绝对值程序如下: #include
书刚贝贝:[答案] 你的程序 #include
隆阳区13162585367: #include
书刚贝贝:[答案] 这好像是c语言吧!不是高中数学的范畴.
隆阳区13162585367: 输入五个整数,使用指针变量将这里个数按从小到大排序后输出输入五个整数,使用指针变量将这里个数按从小到大排序后输出 # INCLUDE
书刚贝贝:[答案] #include
隆阳区13162585367: C语言斐波那契数列求和问题#include
书刚贝贝:[答案] 有两个问题,一个是f函数逻辑上有问题,第二个主函数调用有问题,sum=sum+f(i)而不是n,修改如下: #include
隆阳区13162585367: #include <stdio.h> - ?
书刚贝贝: 楼主不用深究了,这个和编译器有关的.标准规定:不要在同一条语句中多次修改同一变量的值 因为求值顺序标准未定义.所以具体的输出依赖于编译器.
隆阳区13162585367: 如何用C语言写一个sin三角函数 ?
书刚贝贝: C语言中要编写sin函数,实质上要利用sin的泰勒公式,然后根据泰勒公式,将其中... C语言中要编写sin的算法,程序代码如下:#include<stdio.h>#include<math.h&...
隆阳区13162585367: C语言填空:求1+2+3+…+n至和值首次大于10000之间的值#include
书刚贝贝:[答案] #include
隆阳区13162585367: #include<stdio.h> main() { int i; double e,new; e=1.0;new=1.0; for(i=1;new>=1e - 6;i++)?
书刚贝贝: #include<stdio.h> void main()//您的程序是求e的值,修改如下,可以求出大概的值来 { int i; double e,new1; e=1.0; new1=1.0; for(i=1;new1>=1e-6;i++) { new1/=(double)i;//在vc版本中,new是关键词,不能用来命名变量,改为new1 e+=new1; } printf("e=%f\n",e); }
隆阳区13162585367: C语言判断回文--用指针指做while参数的问题.#include
书刚贝贝:[答案] '0'的ascii码和'\0'的ascii码不一样 空格的ascii码和'\0'的ascii码也不一样 字符或者字符串指针貌似只遇到'\0'结束