刚我想学c语言言不知道对不对,请大神帮忙看看

C语言编译没有错,运行不了,不知道是不是文件处理出错了,求大神帮忙看看_百度知道
C语言编译没有错,运行不了,不知道是不是文件处理出错了,求大神帮忙看看
模拟实现一个词法分析程序,要求能识别整数,自定义表示符和所列关键字,例float的类号是28,则输出(float
28)。自己也不太会,学着自己编的看看的,搞了很久还是不会,求大神看看哪里不对,拜托
static int eryuanshi_count=0;
我有更好的答案
,3};,5}你给的代码这里显示不全,没法帮你看啊....}; 这里的,{&*&quot。keywordtable[33]={{&+&quot,{&-&&quot,{& 是什么;,6};,7}。能编译通过,也能运行。另外float 28 是什么意思,{&&#47..;,4}?这些我都去掉了..是啥意思啊?还有最后的 &??!--&quot
采纳率:42%
逻辑错误。看看你实际少做了哪一步吧。
为您推荐:
其他类似问题
c语言的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。后使用快捷导航没有帐号?
只需一步,快速开始
请完成以下验证码
请完成以下验证码
主题帖子荣誉
新鱼友, 积分 56, 距离下一级还需 44 积分
新鱼友, 积分 56, 距离下一级还需 44 积分
查看: 452|回复: 17
& 累计签到:32 天连续签到:3 天
马上注册加入鱼C,享用更多服务吧^_^
才可以下载或查看,没有帐号?
#include &stdio.h&
void main()
& & & & int i = 8;
& & & & printf(&%d\n&, ++i);
& & & & printf(&%d\n&, --i);
& & & & printf(&%d\n&, i++);
& & & & printf(&%d\n&, i--);
& & & & printf(&%d\n&, -i++);
& & & & printf(&%d\n&, -i--);
这个输出的结果是9,8,8,9,-8,-9& &前面都没问题,最后一行这个-9怎么看都没懂,输出-8之后不是应该首先算上一行没计算的-8+1,然后再计算-((-8)+1),结果不是应该是7吗?为什么会出现-9这个数
你前面的明白应该知道最后第二个 i = 9,因为前面的负号不会影响i本身的,你只是加了负号,没有说 i = -i 是不是,所以 i 的值就是9,最后一行 -i--,很显然自减优先级大,但是 i-- 由于自身算法、、原因是先呈现 i 的值就是9,再加负号,就是-9。
如果懂了麻烦点一下“最佳答案”,不懂点“回复”提问
& 累计签到:36 天连续签到:1 天
先从8变成-8,然后i--变成-9
& 累计签到:23 天连续签到:1 天
不妨再打印一下当前的i值,看看结果
& 累计签到:244 天连续签到:3 天
&&&本楼为最佳答案&&&
你前面的明白应该知道最后第二个 i = 9,因为前面的负号不会影响i本身的,你只是加了负号,没有说 i = -i 是不是,所以 i 的值就是9,最后一行 -i--,很显然自减优先级大,但是 i-- 由于自身算法、、原因是先呈现 i 的值就是9,再加负号,就是-9。
如果懂了麻烦点一下“最佳答案”,不懂点“回复”提问
& 累计签到:428 天连续签到:1 天
楼上已经讲的很清楚了,就不再解释了
对于初学者来说,不要花太长时间纠结这种问题,毫无意义,这样的问题只会出在课后练习题或者考试中,对于实际的工程来说根本不会出现这样的代码,自己容易混淆,别人看你的代码也会很不爽
& 累计签到:3 天连续签到:3 天
++运算符的结合性是从右向左
& 累计签到:32 天连续签到:3 天
先从8变成-8,然后i--变成-9
& 累计签到:32 天连续签到:3 天
不妨再打印一下当前的i值,看看结果
好办法,谢谢!
& 累计签到:32 天连续签到:3 天
你前面的明白应该知道最后第二个 i = 9,因为前面的负号不会影响i本身的,你只是加了负号,没有说 i = -i&&...
感谢您码了这么多字。不好意思一直没上论坛,您的意思是前面的正负号不会影响i本身的值,只有自加自减才会改变i的值是吗?也就是说看i的值不需要看正负号,只需要看是自加还是自减就可以了,也就是说最后一行i的值其实是倒数第二行&i++&也就是8+1, 然后再加一个负号得出的-9,是这样的吗?是这样的话那i如果需要变成-的的话以我现在的水平,就需要数次自检才能得到对吗?
& 累计签到:32 天连续签到:3 天
楼上已经讲的很清楚了,就不再解释了
对于初学者来说,不要花太长时间纠结这种问题,毫无意义,这样的问 ...
好的,感谢您的回复
& 累计签到:32 天连续签到:3 天
++运算符的结合性是从右向左
& 累计签到:244 天连续签到:3 天
感谢您码了这么多字。不好意思一直没上论坛,您的意思是前面的正负号不会影响i本身的值,只有自加自减才 ...
是的,的确不需要看前面的负号,你可以自己定义一个 i = 9,然后先打印下 -i 的值,然后再打印下 i 的值就可以知道了。不过你要变成负的,可以不需要这么做呀,直接在那个打印命令前写一条 i= -i; 让 i 变成负数就好了。版主的意思那也就是少用自增自减去运算多次,一个代码长,一个看去费劲,直接用一条指令实现而且更容易看不是很好吗。自增自减适合与与别的语句结合起来,运算次数少的语句中。否则看去就是太乱。
& 累计签到:32 天连续签到:3 天
是的,的确不需要看前面的负号,你可以自己定义一个 i = 9,然后先打印下 -i 的值,然后再打印下 i 的值 ...
明白了,感谢您的耐心解答
& 累计签到:244 天连续签到:3 天
明白了,感谢您的耐心解答
不用客气,我就是喜欢唠叨,哈哈哈
& 累计签到:32 天连续签到:3 天
不用客气,我就是喜欢唠叨,哈哈哈
大神麻烦您在帮我看下这个
#include &stdio.h&
void main()
{
& & & & int a=2,b=4,c=6,x,y;
& & & & y=(x=a+b),(b+c);
& & & & printf(&y=%d,x=%d&,y,x);
}复制代码
我看视频上说y的值应该是等于最后一个表达式,也就是b+c,应该等于10啊,可我为什么打印出来是6
& 累计签到:244 天连续签到:3 天
y=((x=a+b),(b+c));
改成这样,编程的时候必须要知道优先级的问题,=的优先级大于 , 的优先级,记住,的优先级最小,要想先执行逗号运算符就要加()
& 累计签到:32 天连续签到:3 天
y=((x=a+b),(b+c));
改成这样,编程的时候必须要知道优先级的问题,=的优先级大于 , 的优先级,记住,的优 ...
好的,解释一下瞬间就明白了,谢谢
& 累计签到:3 天连续签到:3 天
小甲鱼强烈推荐
给我一节课的时间,帮你从繁琐的工作中解脱出来!
- - - - - - - - - - - -
极客Python,新课程!!
特效不会给你基本工资,但却能让你升职加薪
- - - - - - - - - - - -
有备无患,念念不忘
移动客户端下载(未启用)
微信公众号
Powered by
Copyright &
&&& All Rights Reserved.c语言 的程序 球大神看看 对不 不对了还请指出_百度知道
c语言 的程序 球大神看看 对不 不对了还请指出
我有更好的答案
a=54+42,a);
差逗号,分号位置不对。return 1
拼写不正确main()
差分号printf(&%d&
大神收徒弟吗
头部还差一句:#include &stdio.h&
大神收徒弟吗
采纳率:72%
还应该有头文件,还有在应该是return 0应该在main前面加上#include
因为你要使用printf 必须要加头文件,你才能使用要不程序报错return 可加可不加
你也会IT 收徒弟吗
main(){a=54+42;printf(&%d&,a);}
好像 一样吧
大神怎么了
怎会一样呢,写代码是一个很具体的工作,细节决定成败呀。
大神有QQ吗
为您推荐:
其他类似问题
c语言的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。01:13 提问
求大神帮忙 C语言 LeetCode的 Two Sum问题
求大神帮忙。我run时显示Runtime Error,不知道问题在哪里。。
还有,我也不理解注释中的: * Note: The returned array must be malloced, assume caller calls free(). 这句是什么意思
Given an array of integers, find two numbers such that they add up to a specific target number.
The function twoSum should return indices of the two numbers such that they add up to the target, where index1 must be less than index2. Please note that your returned answers (both index1 and index2) are not zero-based.
You may assume that each input would have exactly one solution.
Input: numbers={2, 7, 11, 15}, target=9
Output: index1=1, index2=2
Subscribe to see which companies asked this question
Note: The returned array must be malloced, assume caller calls free().
int twoSum(int* nums, int numsSize, int target) {
int index1,index2;
for(i=0;i&numsSi++)
for(j=0;j&numsSj++)
if(nums[i]!=0 && nums[j]!=0)
if(nums[i]+nums[j]==target)
if(nums[i]&=nums[j])
index1=i+1;
index2=j+1;
index1=j+1;
index2=i+1;
printf("[%d,%d]",index1,index2);
按赞数排序
int* twoSum(int* nums, int numsSize, int target) {
int index1,index2;
for(i=0;i&numsSi++)
for(j=0;j&numsSj++)
if(nums[i]!=0 && nums[j]!=0)
if(nums[i]+nums[j]==target)
if(nums[i]&=nums[j])
index1=i+1;
index2=j+1;
index1=j+1;
index2=i+1;
printf("[%d,%d]",index1,index2);
int * arr = (int *)malloc(sizeof(int) * 2);
arr[0] = index1;
arr[1] = index2;
int main()
int nums[] = {2,7,11,15};
= twoSum(nums, 4, 9);
如果你的程序没有别的错,它和它的调用者应该是这样的
Note: The returned array must be malloced, assume caller calls free().
返回的数组必须被分配,假设调用者负责释放
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐}

我要回帖

更多关于 我想学c语言 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信