急急急!!!!本人初学c语言 遇到难题 求助高手解答 最好有详细编译过程 满意可追加分数!!

www.hanlefang.net    2024-05-17
一道C语言的题目, 初学者不是很懂,望高手解答.~

这个不是判断等于,是判断a的值。
判断1赋值给a的结果,a=0为假,a不等于0为真。这个if语句的运行结果是把1赋值给了a,则a=1,所以恒为真,满足if的条件,于是运行if后面的一系列赋值语句。if语句后面不加“,”,因为if语句只有与if条件和满足条件时运行的语句一起才能成为一个完整的语句,因此不能加“,”或者“;” 。

这个问题是这样的:
你在头一个程序中的char *c;语句不是没有开设存储区,而是开设了一个指针型的存储区(这个存储区要放指针,所以不是字符型的),具体这个存储区的类型是unsigned long int还是unsigned int要根据你的编译设置来定,总之开设了一个存储区是放地址的,这个地址的位长与你机器相关,比如32位或64位的。我们假定它开设的是一个32位的空间unsigned int。
那么就好理解后面程序了:
申请了连续5个这样的unsigned int来存放地址,这个空间定义相当于unsigned int a[5],注意用来存放的是char型数据的访问地址;你后面用这5个地址指针空间来进行字符输入输出当然可以进行,这相当于:
unsigned int a[5];
char *c;
c=(char *)a;
scanf......
换句话来说,你原先char *c[5]中如果真的放入了字符指针,就会被你后面的scanf输入的字符冲掉

#include <stdio.h>
#include <string.h>
int main(int argc, char *argv[])
{ char str[]="阿咯姐abc锣鼓到a你";
char str1[1000];
int i,m,j=0,k=0;
m=strlen(str);//计算字符长度
for(i=0;i<m;i++)
{
if(str[i]>='A' && str[i]<='z')//判断是否是字母
{ k++;
continue;}//字母,跳出循环
else
{
str1[j]=str[i] ;//不是字母,将其放进新数组
j++;}
}
printf("%s",str1);//输出
}

方法一:
CString str = "阿咯姐abc锣鼓到a你";
int nCharCount = 0;//字符个数
int nChineseCount = 0;//汉字个数

for(int i = 0; i < str.GetLength(); i++)
{
if( (BYTE)str[i] < 0x80 ) //字符
{
nCharCount++;
}
else//汉字
{
nChineseCount++;
i++;
}
}

方法二:
IsDBCSLeadByte

可以用一个函数,isalpha()或者自己用英文字母判断一下

13965845740:我是C语言初学者,遇到了, 不懂的地方,希望有老师指点一下. -
文饺垄______ 我来回答:比如输入的是4:第一次循环:i=1,1<4,所以进入循环:temp=0,进入J的循环:sum=1,temp=1; 第二次循环:i=2,i<4,所以进入循环:temp=0,进入J的循环:temp=0+1+2=3,sum=1+3=4,第三次循环:i=3,i<4 所以进入循环:temp=0,进入J的循环:temp=0+1+2+3=6,sum=4+6=10; 第四次循环:i=4,i=4; 所以进入循环:temp=0,进入J的循环:temp=0+1+2+3+4=10,sum=10+10=20; 接着i=5,就不进入循环拉 仔细迭代每一步是做C语言的必要过程!

13965845740:本人自学C语言时,遇到了一些问题,望高人指点一下. -
文饺垄______ 问题就在于s=1/2*(a+b+c);从左到右执行运算,1和2都是整型,于是1/2就成了0了,再乘个(a+b+c)不管怎样s都为0.而写成1.0后,1.0/2就是浮点数与整数的混合运算,会自动将整型数转换成浮点数再参与运算,于是就得到你想要的结果0.5.

13965845740:本人在学习C语言中的过程中,遇到了一个难题,希望高手能给指条明路. -
文饺垄______ 1、注意使用的函数必须要将其头文件包含进来.2、例程也有拼写错误的地方3、抄写例程有可能抄写错误4、环境设置要正确才可以正确编译程序.

13965845740:初学者接触C语言,第一步就遇到了难题,求各路神仙解答 -
文饺垄______ 包含头文件#include 了吗??还有你学习c语言,请写扩展名c,虽然写cpp没有什么错误,但是一些语法检查上可能不同.

13965845740:c语言程序设计,入门遇到的问题 -
文饺垄______ t=a意思是把a的值赋给t,a=b意思是把b的值赋给a,b=t意思是把t的值赋给b,其实就是a、b的值互换

13965845740:新手学C语言遇到的麻烦.求大侠解囊相助. -
文饺垄______ 在strmcpy函数的最后加一句s[i]='\0'就行了啊,输出的时候读到0就不继续输出的,后面的是乱码也不输出,或者在申请s的时候s[100]={0};这样写也可以,直接把s[]所有的都赋为0如果没有改变的话,剩下的都是0

13965845740:初学C语言遇到1个问题真心请教谢谢
文饺垄______ 两个问题1.输入时,不用.1的2.对double的输入/输出,要用%lf而非%f(后者是对float的)另外格式上要稍调剂下,改好的#includestdio.hvoidmain(){doublemath,eng,comp,ave;//定义变量intnum;printf(请按以下格式输入相干信息学号,数学成绩...

13965845740:新手初学C语言遇到个郁闷问题
文饺垄______ # include <stdio.h> void main() {char A[8]; /* 因为你要输入字符串,所以要用字符数组*/scanf("%s",&A);printf("%s",A);getch();} 好了

13965845740:C语言初学,遇到点问题```` -
文饺垄______ 在你的程序中,无论输入错误与否,printf("the day is %d \n",M); 都会执行只需改两处:int day,month,year,R,M; int day,month,year,R,M=0;printf("the day is %d \n",M); if(M!=0) printf("the day is %d \n",M);错误的时候M不会被赋值,就为初始值0,就不打印

扩展阅读

  • c人教程视频
  • 三类人不适合学编程
  • c++编程入门自学
  • c语言免费入门自学
  • 初学c语言编程软件
  • 初学者c语言的软件
  • 初学编程必背50个
  • 学了python再学c++好学吗
  • c视频教程
  • 初学编程100个代码大全
  • 联系电邮
    © 江苏知识网