c语言有没有字符什么都不输出,为什么第一个不用printf也能输出,而第二个不能呢...

公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解。

话题:为什么第一个不用printf也能输出,而第二个不能呢?回答:第一个,打印语句放在开关语句里了,满足某case 就直接打印了。第二个,开关语句里只有赋值没有输出打印,所以要另加打印语句。

参考回答:是这样的,第一个printf的语句比较短,只输出单个字符,并没输出任何变量值.当a=1则输出Aa=2就输出Ba=3就输出Ca=不等于1,2,3就输出D说一下语句①#include lt;stdio.hgt;main(){ int a=0;scanf("%d",amp;a);switch(a){ case 1:printf("A");break; /*break表示终止当前的switch!若不加的话会执行case2和case3之后才终止switch,自己去试一下*/case 2:printf("B");break; 同上case 3:printf("C");break; 多了个";"号default:printf("D"); default类似if中的else语句?当前面条件都不成立就执行这个语句,所以输出的是"D".}}不明白继续问我,望采纳,谢谢话题:请问下面这段c语言程序为什么执行的时候不会再屏幕输出(printf)由回答:#include #define M 10#define N 20void main() { char a[M][N]; int n[10];int i,j;

参考回答:int a[3][3]={{1,2},{3,4},{5,6}定义了一个3*3数组。。只对部分元素赋初值,未赋初值的元素自动取0值。对每一行的第一二列元素赋值,未赋值的元素取0值。 赋值后各元素的值为:1 2 03 4 05 6 0 s+=a[i][j];等价于s=s+a[i][j];双重循环对数组后两行三列元素相加3+4+5+6=142:char w[][10]={ "ABCD","EFGH","IJKL","MNOP"}定义了一个二维的4*10字符串数组,并赋了四个初值其它的默认赋0值输入w[1]和w[2],所以为 EFGH和IJKL43:gets (字符数组名) 功能:从标准输入设备键盘上输入一个字符串gets函数并不以空格作为字符串输入结束的标志, 而只以回车作为输入结束strcat (字符数组名1,字符数组名2) 功能:把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“\0”。所以输入出ABC6望采纳。话题:为什么不能用printf(10),而非要打上“”,为什么一定要printf("10")回答:printf () 是一个函数,是函数就要按照 函数要求的格式。 printf("%d",10) 这样打出的才是你所说的10 printf(

参考回答:printf函数,他的参数为字符串,而字符串一般都要加双引号。10不能看做整数,而是字符串。话题:这个c的程序为什么执行不了?回答:因为 a 指向的是系统的一块只读的内存,"abcde" ,因此 a 指向的值是不能改变的,所以*a=*b;是错的,可以改成#include void main(){ char a[]="abcde

参考回答:改成a=b;试试如何,指针指的是哦话题:新手求教:为什么这个程序不能执行printf,还有为什么即使设的是3*回答:#include#include int main(void){ char a[3][20]; int i; for(i=0;i3;i++) {

参考回答:回车算一个字符。不管你输入多少个字符,scanf只接收输入的前个字符。话题:c语言中转意字符\'有什么特殊用途?我试了试不加\也可以用printf语句回答:假如你想在printf中输出"是,就需要加\。例如"i say \"hello\""

参考回答:转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号( '),用于表示字符串常量的双撇号( ")和反斜杠( \)等。转义字符用反斜杠\后面跟一个字符或一个进制或十六进制数表示。 转义字符 意义 ASCII码值(十进制) \a 响铃(BEL) 00 \b 退格(BS) 00 \f 换页(FF) 012 \n 换行(LF) 010 \r 回车(CR) 013 \t 水平制表(HT) 00 \v 垂直制表(VT) 011 \\ 反斜杠 02 \? 问号字符 063 \' 单引号字符 03 \" 双引号字符 034 \0 空字符(NULL) 000 \ddd 任意字符 三位进制 \xhh 任意字符 二位十六进制 字符常量中使用单引号和反斜杠以及字符常量中使用双引号和反斜杠时,都必须使用转义字符表示,即在这些字符前加上反斜杠。 在C程序中使用转义字符\ d d d或者\ x h h可以方便灵活地表示任意字符。\ d d d为斜杠后面跟三位进制数,该三位进制数的值即为对应的进制A S C I I码值。\ x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制A S C I I码值。 使用转义字符时需要注意以下问题: 1) 转义字符中只能使用小写字母,每个转义字符只能看作一个字符。 2) \v 垂直制表和\f 换页符对屏幕没有任何影响,但会影响打印机执行响应作。 3) 在C程序中,使用不可打印字符时,通常用转义字符表示。4)\n其实应该叫回车换行。换行只是换一行,不改变光标的横坐标;回车只是回到行首,不改变光标的纵坐标。 5)\t 光标向前移动四格或格,可以在编译器里设置。6)\' 在字符里(即单引号里)使用。在字符串里(即双引号里)不需要,只要用 ' 即可。 )\? 其实不必要。只要用 ? 就可以了(在s VC6 和tc2 中验证)。话题:为什么这个程序运行不出来,请高手解答回答:#include void main(){char ch1[30];char ch2[30];long n=0;char *p=ch1;char *q=ch2;

参考回答:#includelt;stdio.hgt;void main(){char ch1[30];char ch2[30];long n;char *p;char *q;printf("请输入一个有数字的字符串:\n");gets(ch1);p=ch1;q=ch2;while(*p){if(*pgt;='0'amp;amp;*plt;=''){*q=*p;q++;}p++;}*q='\0';q=ch2;n=0;while(*q){n=n*10+(*q-'0');q++;}printf("重组后的数组为:\n");printf("%ld\n",n);}这是按照你的思路改的,其实可以不用那个指针的直接用数组就可以啊具体修改部分1指针使用时需要绑定。gets(ch1);p=ch1;q=ch2;while(*p){2筛选时赋值方向错误*q=*p;3变量使用前为初始化n=0;话题:scanf ("%d ",k); 为何不能输出呢?? printf ("%d",k);回答:scanf ("%d ", 为何不能输出呢?? printf ("%d",k);scanf ("%d ",空格是输入参数默认的分隔符,后面带空格,表示还要有别的参数输入,scanf 会等待参数到来。同样

参考回答:scanf 里面有个空格,则你输入的时候必须在那个位置输入那个空格

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值