帮我看看这个程序vs怎么调试程序

帮我解释一下这个c语言程序的两个if语句是怎么具体执行的,程序的调试功能不会用。_百度知道
帮我解释一下这个c语言程序的两个if语句是怎么具体执行的,程序的调试功能不会用。
h&int main(){ int x=2,y=-1;0)
z*=2; printf(&%d\ if(x&y) if(y&gt,z=2#include &n&
我有更好的答案
&nbspif(x&y) if(y&if(y&&0) &&z=0; else&&0) &&&&&&&&&&z=0;&&&&else&&&&&&&&&&z*=2;z*=2;即if(x&y){&&nbsp
采纳率:64%
来自团队:
z&*=&2;&&&&}&&int&main()&{&&&&nbsp,z=2;if(y&&nbsp#include&&stdio.h&&&&&&&&&&else&&&z&=&&&&if(x&&&&printf(&%d\n&;&&y)&{&//&与如下格式等同&0;&&0)&&int&x=2,y=-1;&&nbsp
为您推荐:
其他类似问题
if语句的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。后使用快捷导航没有帐号?
查看: 2937|回复: 14
大伙帮我看看, 我都要急死了。 这程序死活调试不通。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
来自EEWORLD合作群:499581&&群主:wangkj
#define SERVER_ADDRESS &172.72.101.150&
#define PORT 80
#define MSGSIZE 10240
#pragma comment(lib, &Ws2_32.lib&)
#define HTTP &GET /add.asp?input=11 HTTP/1.1\r\n\
Accept: */*\r\n\
Referer: \r\n\
Accept-Language: zh-cn\r\n\
Accept-Encoding: gzip, deflate\r\n\
Host: 172.72.101.150\r\n\
Connection:close&
int _tmain(int argc, _TCHAR* argv[])
WSADATA wsaD
SOCKADDR_IN
char szMessage[MSGSIZE] = {0};
// Initialize Windows socket library
WSAStartup(0x0202, &wsaData);
sClient = socket(AF_INET, SOCK_STREAM, 0);
memset(&server, 0, sizeof(SOCKADDR_IN));
server.sin_family = AF_INET;
server.sin_addr.S_un.S_addr = inet_addr(SERVER_ADDRESS);
server.sin_port = htons(PORT);
int rr = connect(sClient, (struct sockaddr *)&server, sizeof(SOCKADDR_IN));
memcpy(szMessage, HTTP, strlen(HTTP));
int num = strlen(szMessage);
// Send message
int ss = send(sClient, szMessage, strlen(szMessage), 0);
char *buff=new char[10240];
memset(buff, 0, 10240);
// Receive message
ret = recv(sClient, buff, 10240, 0);
free(buff);
// Clean up
closesocket(sClient);
WSACleanup();
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
每次执行到 recv 的时候就 阻塞在这里了。
web 服务时 接受input 的值, 然后存放于数据库。
现象是: 当客户端程序 阻塞到 recv 的时候, 数据库没有数据, 但是 我按中止调试之后, 数据库就有了
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
send(sClient, szMessage, strlen(szMessage), 0);
发送成功了的?
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
ret = recv(sClient, buff, 10240, 0);
准备接受什么?
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
QQ截图未命名.jpg (15.59 KB, 下载次数: 0)
15:39 上传
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
GET /add.asp?input=11 HTTP/1.1
Accept: */*
Referer: http://172.72.101.150
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
Host: 172.72.101.150
Connection:close
准备接受 http 的响应。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
你怎么判断是阻塞在recv的
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
因为我单步执行到 recv 这里 就不走了。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
你再看下套接字的应用这个过程对不对,仔细检查下。是不是差了哪一步。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
你还不如在recv后面打调试全速运行
套接字没什么
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
全速运行也是阻塞在 recv
int ss = send(sClient, szMessage, strlen(szMessage), 0);
当我执行这一步的时候, web服务器 没有将数据写进数据库。
在执行 recv 就阻塞了。 然后我中断程序, 数据库才会被写进去。
这是为什么? 我觉得他应该在 send 之后就写数据库的呀。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
你在send后面sleep一会。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
判断一下send的返回值
你这些程序对返回值都没有判断 也就是说对错误信息没有捕获
win socket是很简单的
你能 调web 服务服务器吗?
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
send的返回值我单步调试判断的。
是正确的。
EEWORLD 官方微信
Powered by有大佬帮我看看这个程序要怎么改吗【技术吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:187,821贴子:
有大佬帮我看看这个程序要怎么改吗收藏
完成并调试程序:结构体与指针。实现学生数据的输入、输出。(横线处仅能补充一条语句)。#include&stdio.h&#include&stdlib.h&#include&string.h&typedef struct STU{
char sname[10];
struct STU *}STU;STU *inputData(); /*创建链表,返回链表的头指针*/void printData( STU *list); /*输出链表*/int main(){
STU *h=NULL;
h=inputData();
printData(h);
return 0;}STU *inputData(){
STU *p=NULL,*q=NULL,*head=NULL;char sname[10];
scanf(&%d%s%f&,&sno,sname,&grade);
while(sno!=-1) {
/*输入学号为-1时,结束输入*/
p=(STU *)malloc(sizeof(STU)); /*此语句功能:计算STU的大小
strcpy(p-&sname,sname);
p-&next=NULL;
if(head==NULL)
q-&next=p;
scanf(&%d%s%f&,&sno,sname,&grade);
}}void printData( STU *list) {
printf(&\n======================\n&);
while(p!=NULL) {
____scanf(“%4d\n”)____ ___; /*输出数据*/p=p-&
登录百度帐号推荐应用程序调试(除错)过程中的一些雕虫小技_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
程序调试(除错)过程中的一些雕虫小技
&&程序调试(除错)过程中的一些雕虫小技
阅读已结束,下载本文需要
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,方便使用
还剩7页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢vba求助,帮我看看下面的程序怎么调试,谢了!_百度知道
vba求助,帮我看看下面的程序怎么调试,谢了!
Sub 图表创建()
' 图表创建 Macro
' 宏由 查灿林 录制,时间:
' 快捷键: Ctrl+q
ActiveWindow.SmallScroll Down:=-9
Charts.Add
ActiveChart.ChartType = xlLineMarkers
ActiveChart.SetSourceData Source:=Sheets...
怎么完成i从2到200的循环,要求i每加一对应一次程序调用,然后有一次结果输出! 我一共要输出200次!
我有更好的答案
调试很简单的,只要你熟悉vb就行。。就是按着F7,单步执行,然后你自己看着效果,就可以知道每个代码都执行了那些,大概什么用处了。
如果是VBA,就按F8键一步一步调试吧
要输出啥结果啊?For i = 2 To 200
End WithNext iWith i 这个是不需要的。楼上说得都很对,按F8键一步一步调试看看吧。这是VBA编程的必经之路啊
来自:求助得到的回答
为您推荐:
其他类似问题
您可能关注的内容
vba的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 c语言怎么调试程序 的文章

 

随机推荐